2017-01-19 12 views
0

MacOSでapache-sparkを設定しようとしています。すべてのオンラインガイドは、スパークタールをダウンロードし、いくつかのenv変数を設定するか、またはbrew install apache-sparkを使用して、いくつかのenv変数を設定するように求めています。MacOSでのSparkのインストールと設定ImportError:pysparkというモジュールがありません

私はbrew install apache-sparkを使ってapache-sparkをインストールしました。 端末でpysparkを実行し、インストールが成功したことを示すpythonプロンプトが表示されます。私は私のpythonファイルに​​をしようとすると

は今、私はImportError: No module named pyspark

私は理解できないんだ奇妙なことであるかであることpysparkのREPLを起動できないというエラーに直面していますモジュールをPythonコードにインポートすることができます。

pip install pysparkでも試してみましたが、モジュールを認識しません。

homebrewでapache-sparkをインストールすることに加えて、私はenv変数を設定しました。

if which java > /dev/null; then export JAVA_HOME=$(/usr/libexec/java_home); fi 

if which pyspark > /dev/null; then 
    export SPARK_HOME="/usr/local/Cellar/apache-spark/2.1.0/libexec/" 
    export PYSPARK_SUBMIT_ARGS="--master local[2]" 
fi 

私のローカルマシン上でpysparkコードを実行するために私のセットアップに正確にないものをお勧めします。

+0

関連するhttps://stackoverflow.com/questions/23256536/importing-pyspark-in-python-shell – michael

答えて

1

私はMACを使用してはいけない、しかし別の方法は、横に答え上のLinuxであり申し訳ありません:

sudo ln -s $SPARK_HOME/python/pyspark /usr/local/lib/python2.7/site-packages 

Pythonはから/パス/あなた/パイソン/ のsite-packages /にモジュールを読み込みます最後に

+0

この種の機能はありますが、py4jプロトコルが見つかりません。次のエラーが表示されます。 '' 'py4j.protocol'''という名前のモジュールはありませんでしたが、' 'pyspark''モジュールが見つからないというエラーを解決しました。 –

+0

@ KeyurGolani py4j –

+0

をpipにインストールするか、$ SPARK_HOME/python/lib/py4j-0.10.4-src.zipで見つけ、サイトパッケージ –

3

pysparkモジュールお使いのシステムPATHにそれらを含めることしたくない場合は

import os 
import sys 

os.environ['SPARK_HOME'] = "/usr/local/Cellar/apache-spark/2.1.0/libexec/" 

sys.path.append("/usr/local/Cellar/apache-spark/2.1.0/libexec/python") 
sys.path.append("/usr/local/Cellar/apache-spark/2.1.0/libexec/python/lib/py4j-0.10.4-src.zip") 

try: 
    from pyspark import SparkContext 
    from pyspark import SparkConf 

except ImportError as e: 
    print ("error importing spark modules", e) 
    sys.exit(1) 

sc = SparkContext('local[*]','PySpark') 

代わりにこれを試してみてください、あなたのpythonで

が含まれていません。そして、pythonのパスを含めることを忘れないでください。

export SPARK_HOME=/usr/local/Cellar/apache-spark/2.1.0/libexec/ 
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH 
export PATH=$SPARK_HOME/python:$PATH 
+0

このアプローチはうまくいきました。しかし、私は3つのラインを毎回書く必要がない、より恒久的なソリューションを探しています。私はまた、OS環境で同じ3つのものを設定しようとしました。しかし、このアプローチでは、まだpysparkモジュールを検出できません。 –

関連する問題