[英]spark-submit with specific python librairies
我有一个依赖于第三方库的 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'
来指定事物。
这似乎不起作用......我做错了什么吗? 你对如何做到这一点有任何想法吗?
干杯,亚历克斯
要将您的 zip 文件夹提交到 python spark,您需要使用以下命令发送文件:
spark-submit --py-files your_zip your_code.py
在您的代码中使用它时,您必须使用以下语句:
sc.addPyFile("your_zip")
import your_zip
希望这会有所帮助!!
如果您有依赖性,可能对某些人有所帮助。
我找到了一个关于如何将虚拟环境正确加载到 master 和所有 slave workers 的解决方案:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.