2015-11-19 2 views
8

J'essaie d'importer et d'utiliser pyspark avec anaconda.Comment importer pyspark dans anaconda

Après l'installation de l'étincelle, et définissant la variable $SPARK_HOME j'ai essayé:

$ pip install pyspark 

Cela ne fonctionnera pas (bien sûr) parce que j'ai découvert que je dois python tel pour chercher pyspark sous $SPARK_HOME/python/. Le problème est que pour ce faire, je dois définir le $PYTHONPATH tandis qu'anaconda n'utilise pas cette variable d'environnement.

J'ai essayé de copier le contenu de $SPARK_HOME/python/ à ANACONDA_HOME/lib/python2.7/site-packages/ mais cela ne fonctionnera pas.

Y at-il une solution pour utiliser pyspark dans anaconda?

Répondre

8

Vous pouvez simplement définir les variables d'environnement PYSPARK_DRIVER_PYTHON et PYSPARK_PYTHON pour utiliser la racine Anaconda Python ou un environnement Anaconda spécifique. Par exemple:

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

ou

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

Lorsque vous utilisez $SPARK_HOME/bin/pyspark/$SPARK_HOME/bin/spark-submit il choisira un environnement correct. Rappelez-vous juste que PySpark a la même version de Python sur toutes les machines.

Sur une note de côté en utilisant PYTHONPATH devrait fonctionner très bien, même si ce n'est pas recommandé.

+0

Merci pour la réponse. Puis-je importer 'pyspark' en mode autonome? Je veux dire 'import pyspark' – farhawa

+0

Vous pourriez probablement construire votre propre paquet de conda ... – zero323

+0

J'ai essayé mais cela ne fonctionnera pas – farhawa

1

Je ne crois pas que vous ayez besoin ni ne pouvez installer pyspark en tant que module. Au lieu de cela, je tendis $PYTHONPATH dans mon ~/.bash_profile comme suit:

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

Après cela, j'ai pu import pyspark as ps. J'espère que cela fonctionne pour vous aussi.

+0

Qu'est-ce qui existe dans '$ SPARK_HOME/python/build'? Je ne trouve pas le répertoire 'build' inclus dans ma distribution spark (spark-2.1.0-bin-hadoop2.4). – Tarrasch

1

Voici l'ensemble des variables d'environnement que je devais mettre dans mon .bashrc pour que cela fonctionne dans les deux scripts et bloc-notes

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