【发布时间】:2017-08-19 01:29:08
【问题描述】:
我正在使用 spark-submit 和 py-files 选项来包含我构建的鸡蛋 (spark_submit_test_lib-0.1-py2.7.egg)。
该 .egg 的结构基本上是:
root
|- EGG-INFO
|- spark_submit_test_lib
|- __init__.pyc
|- __init__.py
|- spark_submit_test_lib.pyc
|- spark_submit_test_lib.py
|- def do_sum()
在我的驱动程序脚本spark_submit_test.py 我有这个导入:
from spark_submit_test_lib import do_sum
我使用以下方式提交到我的 hadoop 集群:
spark-submit --queue 'myqueue' --py-files spark_submit_test_lib-0.1-py2.7.egg --deploy-mode cluster --master yarn spark_submit_test.py
失败并出现错误:
ImportError: No module named spark_submit_test_lib
我尝试将导入语句更改为
from spark_submit_test_lib.spark_submit_test_lib import do_sum
但无济于事,仍然出现同样的错误。
我看到有人遇到过类似的问题(在这种情况下,他/她希望 spark-submit 使用 .egg 中的文件作为驱动程序 - 所以类似的问题但不一样):What filepath or dot notation should I use when using spark-submit.py with .egg files as an argument to --py-files 但在写这篇文章的时候还没有答案。
【问题讨论】:
标签: apache-spark pyspark