2015-11-19 42 views
8

我想導入並使用pyspark與anaconda。如何在anaconda導入pyspark

安裝火花,並設置$SPARK_HOME變量後,我想:

$ pip install pyspark 

,因爲我發現我需要電話蟒蛇尋找pyspark$SPARK_HOME/python/下這不會(當然)工作。問題是要做到這一點,我需要設置$PYTHONPATH而anaconda不使用該環境變量。

我試圖將$SPARK_HOME/python/的內容複製到ANACONDA_HOME/lib/python2.7/site-packages/,但它不起作用。

有沒有解決方案可以在anaconda中使用pyspark?

回答

8

您可以簡單地設置PYSPARK_DRIVER_PYTHONPYSPARK_PYTHON環境變量以使用root Anaconda Python或特定的Anaconda環境。例如:

export ANACONDA_ROOT=~/anaconda2 
export PYSPARK_DRIVER_PYTHON=$ANACONDA_ROOT/bin/ipython 
export PYSPARK_PYTHON=$ANACONDA_ROOT/bin/python 

export PYSPARK_PYTHON=$ANACONDA_ROOT/envs/foo/bin/ipython 
export PYSPARK_PYTHON=$ANACONDA_ROOT/envs/foo/bin/python 

當您使用$SPARK_HOME/bin/pyspark/$SPARK_HOME/bin/spark-submit它會選擇一個正確的環境。請記住,PySpark在所有機器上都有相同的Python版本。

在使用PYTHONPATH的旁註中應該可以很好地工作,即使不推薦。

+0

感謝您的回答工作。我可以在獨立模式下導入'pyspark'嗎?我的意思是'進口pyspark' – farhawa

+0

你或許可以建立自己的conda包... – zero323

+0

我試過了,但它不會起作用 – farhawa

1

我不認爲你需要也不能安裝pyspark作爲模塊。相反,我在我的延長我的$PYTHONPATH〜/ .bash_profile文件如下:

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH

在那之後,我能夠import pyspark as ps。希望也適合你。

+0

'$ SPARK_HOME/python/build'中存在什麼?我找不到包含在我的火花分佈中的'build'目錄(spark-2.1.0-bin-hadoop2.4)。 – Tarrasch

1

以下是環境變量的一套完整的,我不得不把我的.bashrc得到這個在腳本和筆記本

export ANACONDA_ROOT=~/anaconda2 
export PYSPARK_DRIVER_PYTHON=$ANACONDA_ROOT/bin/ipython 
export PYSPARK_PYTHON=$ANACONDA_ROOT/bin/python 

export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7 
export PYLIB=/opt/spark-2.1.0-bin-hadoop2.7/python/lib 

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib:$PYTHONPATH 
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH