火花提交与特定的python图书馆

时间:2018-02-06 13:25:36

标签: python pyspark spark-submit

我有一个根据第三方图书馆的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

2 个答案:

答案 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