我有一个根据第三方图书馆的pyspark代码。我想在我的集群上执行此代码,该代码在mesos下运行。
我的python环境的压缩版本位于我的群集可以访问的http服务器上。
我无法指定我的spark-submit查询来使用此环境。
我使用--archives
加载zip文件,使用--conf 'spark.pyspark.driver.python=path/to/my/env/bin/python'
加--conf 'spark.pyspark.python=path/to/my/env/bin/python'
来指定内容。
这似乎不起作用......我做错了吗?你知道怎么做吗?
干杯, ALEX
答案 0 :(得分:1)
要将zip文件夹提交给python spark,您需要使用以下命令发送文件:
spark-submit --py-files your_zip your_code.py
在代码中使用它时,您必须使用以下语句:
sc.addPyFile("your_zip")
import your_zip
希望这会有所帮助!!
答案 1 :(得分:0)
如果您有依赖项,可能对某些人有帮助。
我找到了如何正确加载虚拟环境给主人和所有奴隶工人的解决方案:
virtualenv venv --relocatable
cd venv
zip -qr ../venv.zip *
PYSPARK_PYTHON=./SP/bin/python spark-submit --master yarn --deploy-mode cluster --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./SP/bin/python --driver-memory 4G --archives venv.zip#SP filename.py