py-files
オプションを使用してを使用していますが、私が作成した卵(spark_submit_test_lib-0.1-py2.7.egg
)を含めることができます。その.eggの 構造は、基本的には次のとおりです。spark-submitの--py-filesオプションで提供された.eggファイルをどのように参照するのですか?
spark-submit --queue 'myqueue' --py-files spark_submit_test_lib-0.1-py2.7.egg --deploy-mode cluster --master yarn spark_submit_test.py
は、それが失敗した:私は使用して私のHadoopクラスタに提出
from spark_submit_test_lib import do_sum
:
私のドライバースクリプトspark_submit_test.py
で
root
|- EGG-INFO
|- spark_submit_test_lib
|- __init__.pyc
|- __init__.py
|- spark_submit_test_lib.pyc
|- spark_submit_test_lib.py
|- def do_sum()
私はこのインポートを持っていますエラー:
ImportError: No module named spark_submit_test_lib
私はまだ同じエラーを取得し、
from spark_submit_test_lib.spark_submit_test_lib import do_sum
になく、無駄にimport文を変更してみました。
誰かが似たような問題を抱えているのを見ました(この場合、ドライバとして.egg内のファイルを使用するためにspark-submitを望みます - 同様の問題ですが、同じではありません):What filepath or dot notation should I use when using spark-submit.py with .egg files as an argument to --py-files執筆には答えがありません。
OK素晴らしい、THX。私は実際にそれを動作させることができたし、上記のように 'spark_submit_test_lib.spark_submit_test_lib import do_sum'を使って行った。私はこのスレッドを投稿する前に試したときに何か間違ったことをしていたに違いない。とにかく、私は今それが働いていると言ってうれしい。 – jamiet