我正在尝试使用spark-submit
提交Python应用程序,如下所示:
spark-submit \
--conf spark.submit.pyFiles=path/to/archive.zip \
--conf spark.app.name=Test123 \
--conf spark.master=local[2] \
--conf spark.driver.memory=5G \
path/to/python_app.py
python_app.py
尝试从archive.zip
导入模块,但失败并显示ModuleNotFoundError
。如果我替换
--conf spark.submit.pyFiles=path/to/archive.zip
与
--py-files path/to/archive.zip
它按预期工作。真的很奇怪,因为使用--conf
可以设置主,驱动程序内存和应用名称。
我在这里想念什么?谢谢!
编辑2018-07-06:
我在Spark版本2.1.3
,2.2.0
和2.3.1
中尝试过-这三个版本的问题都是相同的。并且:无论提交local[x]
还是yarn
,我都有问题。
答案 0 :(得分:0)
我最近有同样的问题。我相信这里的命名可能会误导人。
设置spark.submit.pyFiles
仅表明您要将它们添加到 PYTHONPATH 。但是除了之外,您还需要将那些文件上传到所有执行者的工作目录中。。您可以使用spark.files
对我来说,它能胜任。我正在spark-defauls.conf
中设置这些值