2016-08-26 33 views
1

ローカルマシンにboto3をインストールしてから、ローカルモードでspook-submitを実行しましたが、boto3がインストールされているディレクトリにパスを渡しました。次のコマンドを実行します。インストール後にpipモジュールをインポートできません

spark-submit --conf spark.driver.extraClassPath=/Library/Python/2.7/site-packages app.py 

そして、私のapp.pyimport boto3が、それは恐ろしいmodule not foundエラーがスローされます。

spark-submitジョブにpipインストールされたpython依存関係を追加する正しい方法ですか?

+0

クラスタ内の他のすべてのノードに 'boto3'がインストールされていますか? –

+0

@ cricket_007クラスタ内に他のノードはありません。これは単一ノードローカルモードです。ローカルのデスクトップコンピュータにインストールします。 – Kristian

+1

そしてPySparkの外でそれを実行することはできますか? –

答えて

0

sparkで使用されるPythonとpip_installのpythonの依存関係が含まれるPythonは異なります。 .bash_profileには、PYSPARK_PYTHONパスとPYSPARK_DRIVER_PYTHONを、pip_installsを含む正しいPythonパスに設定します。

export SPARK_HOME=/usr/local/Cellar/apache-spark/2.1.0/libexec 
    export PYTHONPATH=/usr/local/opt/python/bin/python2.7/:$PYTHONPATH$ 
    export PYSPARK_PYTHON=/usr/local/opt/python/bin/python2.7 
    export PYSPARK_DRIVER_PYTHON=/usr/local/opt/python/bin/python2.7 

シェル上のPythonはすべてpip_installプログラムが含まれている場合は、そのパスにPYSPARK_PYTHONPYSPARK_DRIVER_PYTHONを設定することができます。それを見つけるのはhereです。

関連する問題