web-dev-qa-db-fra.com

Comment installer pyspark pour l'utiliser dans des scripts autonomes?

J'essaie d'utiliser Spark avec Python. J'ai installé la Spark 1.0.2 pour la distribution binaire Hadoop 2 à partir de la téléchargements = page. Je peux passer en revue les exemples de démarrage rapide dans le mode interactif Python, mais j'aimerais maintenant écrire un script autonome Python qui utilise Spark. La documentation de démarrage rapide dit d'importer simplement pyspark, mais cela ne fonctionne pas car ce n'est pas sur mon PYTHONPATH.

Je peux courir bin/pyspark et voyez que le module est installé sous SPARK_DIR/python/pyspark. Je peux l'ajouter manuellement à ma variable d'environnement PYTHONPATH, mais j'aimerais connaître la méthode automatisée préférée.

Quel est le meilleur moyen d’ajouter pyspark le support pour les scripts autonomes? Je ne vois pas un setup.py n'importe où sous le répertoire d'installation Spark. Comment créer un paquet pip pour un script Python qui dépend de Spark?

36
W.P. McNeill

Vous pouvez définir manuellement PYTHONPATH comme vous le suggérez. Cela peut vous être utile lors du test de scripts non interactifs autonomes sur une installation locale.

Cependant, (py) spark consiste à distribuer vos travaux aux nœuds des clusters. Chaque cluster a une configuration définissant un gestionnaire et de nombreux paramètres. les détails de la configuration sont ici , et incluent un cluster local simple (cela peut être utile pour tester les fonctionnalités).

En production, vous soumettez des tâches à spark via spark-submit, qui distribuera votre code aux noeuds du cluster et établira le contexte dans lequel ils pourront s'exécuter sur ces noeuds. Cependant, vous devez vous assurer que les installations python sur les nœuds ont toutes les dépendances requises (méthode recommandée) ou que les dépendances sont transmises avec votre code (je ne sais pas comment travaux).

8
mdurant

À partir de Spark-2.2.0, utilisez pip install pyspark pour installer pyspark sur votre machine.

Pour les versions plus anciennes, reportez-vous aux étapes suivantes. Ajouter Pyspark lib dans Python dans le répertoire bashrc

export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH

de plus, n'oubliez pas de configurer SPARK_HOME. PySpark dépend du paquet py4j Python. Installez-le comme suit

pip install py4j

Pour plus de détails sur l’application autonome PySpark, reportez-vous à ce post

36
prabeesh

J'installe pyspark pour une utilisation autonome suivant un guide . Les étapes sont les suivantes:

export SPARK_HOME="/opt/spark"
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH

Ensuite, vous devez installer py4j:

pip install py4j

Pour l'essayer:

./bin/spark-submit --master local[8] <python_file.py>
15
ssoto

À compter de Spark 2.2, PySpark est maintenant disponible dans PyPI. Merci @Evan_Zamir.

pip install pyspark


À partir de Spark 2.1, il vous suffit de télécharger Spark et d’exécuter le fichier setup.py:

cd my-spark-2.1-directory/python/
python setup.py install  # or pip install -e .

Il existe également un ticket pour l'ajouter à PyPI.

11
ksindi

Ne pas export $SPARK_HOME, faire export SPARK_HOME.

0
waku