繁体   English   中英

spark-submit 与特定的 python 库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM