首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Spark 3.x中借助hdfs分发python环境出现问题?

Spark 3.x中借助hdfs分发python环境出现问题?

提问于 2023-05-18 18:08:32
回答 0关注 0查看 73

一、环境

Spark 3.3 二、问题详情 因为python环境管理和升级的复杂性,在我用hdfs统一维护管理pyspark的环境时,我遇到了如下问题。 1.我首先将anaconda下面新建的我的依赖环境test_env打包成python_env.zip; 2.我上传了这个依赖包到hdfs://xxxxxxx/python_env.zip;

3.我尝试使用spark-submit 提交yarn-cluster部署时,首先使用

代码语言:js
复制
spark-submit \
--master yarn \
--deploy-mode cluster \
--archives hdfs://xxxxxxx/python_env.zip#PyEnv \
--conf spark.executorEnv.PYSPARK_PYTHON=./PyEnv/test_env/bin/python3.6 \
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./PyEnv/test_env/bin/python3.6 \
--driver-memory 4g \
--num-executors 20 \
--executor-cores 1 \
--executor-memory 2g \
xxxxxxxxx.py

居然找不到任何上传文件夹test_env/lib/python3.6/site-packages下的包,我怀疑是无法识别到相应的依赖环境(但是在Spark 2.3中我确认这是可行的);

4.于是我查阅资料和文档,修改为了

代码语言:js
复制
spark-submit \
--master yarn \
--deploy-mode cluster \
--archives hdfs://xxxxxxx/python_env.zip#PyEnv \
--conf spark.executorEnv.PYSPARK_PYTHON=./PyEnv/test_env/bin/python3.6 \
--conf spark.executorEnv.PYTHONPATH=$PYTHONPATH:./PyEnv/test_env/lib/python3.6/site-packages \
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./PyEnv/test_env/bin/python3.6 \
--conf spark.yarn.appMasterEnv.PYTHONPATH=$PYTHONPATH:./PyEnv/test_env/lib/python3.6/site-packages \
--driver-memory 4g \
--num-executors 20 \
--executor-cores 1 \
--executor-memory 2g \
xxxxxxxxx.py

这次能够正确获取jieba等简单无互相依赖的包,但是像happybase这种依赖thriftpy2的包报错说找不到thriftpy2,但是我很明确我的site-packages下是存在thriftpy2的,因为安装happybase也是依赖安装了thriftpy2的,这是为什么呢,这样的问题是否有解决的办法呢?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档