2015-11-19 4 views
8

Я пытаюсь импортировать и использовать pyspark с anaconda.Как импортировать pyspark в anaconda

После установки искры, и установки переменной $SPARK_HOME Я пробовал:

$ pip install pyspark 

Это не будет работать (конечно), потому что я обнаружил, что мне нужно тела питона искать pyspark под $SPARK_HOME/python/. Проблема в том, что для этого мне нужно установить $PYTHONPATH, в то время как anaconda не использует эту переменную среды.

Я попытался скопировать содержимое $SPARK_HOME/python/ в ANACONDA_HOME/lib/python2.7/site-packages/, но это не сработает.

Есть ли решение использовать pyspark в анаконде?

ответ

8

Вы можете просто установить PYSPARK_DRIVER_PYTHON и PYSPARK_PYTHON переменными окружения для использования либо корневого 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' в автономном режиме? Я имею в виду 'import 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 
Смежные вопросы