Comment exécuter une application pyspark dans l'invite de commande Windows 8


8

J'ai un script python écrit avec Spark Context et je veux l'exécuter. J'ai essayé d'intégrer IPython à Spark, mais je n'ai pas pu le faire. J'ai donc essayé de définir le chemin d'allumage [dossier / bin d'installation] comme variable d'environnement et j'ai appelé la commande spark-submit dans l'invite cmd. Je crois qu'il trouve le contexte de l'étincelle, mais cela produit une très grosse erreur. Quelqu'un peut-il m'aider à résoudre ce problème?

Chemin de variable d'environnement: C: /Users/Name/Spark-1.4; C: /Users/Name/Spark-1.4/bin

Après cela, dans l'invite cmd: spark-submit script.py

entrez la description de l'image ici


Réponses:


3

Je suis assez nouveau sur Spark et j'ai compris comment intégrer avec IPython sur Windows 10 et 7. Tout d'abord, vérifiez vos variables d'environnement pour Python et Spark. Voici les miennes: SPARK_HOME: C: \ spark-1.6.0-bin-hadoop2.6 \ J'utilise Enthought Canopy, donc Python est déjà intégré dans mon chemin système. Ensuite, lancez Python ou IPython et utilisez le code suivant. Si vous obtenez une erreur, vérifiez ce que vous obtenez pour 'spark_home'. Sinon, cela devrait fonctionner très bien.

import os

import sys

spark_home = os.environ.get('SPARK_HOME', None)

if not spark_home:

raise ValueError('SPARK_HOME environment variable is not set')

sys.path.insert(0, os.path.join(spark_home, 'python'))

sys.path.insert(0, os.path.join(spark_home, 'C:/spark-1.6.0-bin-hadoop2.6/python/lib/py4j-0.9-src.zip')) ## may need to adjust on your system depending on which Spark version you're using and where you installed it.

execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))

pySpark sur IPython



1

La réponse de Johnnyboycurtis fonctionne pour moi. Si vous utilisez python 3, utilisez le code ci-dessous. Son code ne fonctionne pas en python 3. Je modifie uniquement la dernière ligne de son code.

import os
import sys


spark_home = os.environ.get('SPARK_HOME', None)
print(spark_home)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'C:/spark-1.6.1-bin-hadoop2.6/spark-1.6.1-bin-hadoop2.6/python/lib/py4j-0.9-src.zip')) ## may need to adjust on your system depending on which Spark version you're using and where you installed it.


filename=os.path.join(spark_home, 'python/pyspark/shell.py')
exec(compile(open(filename, "rb").read(), filename, 'exec'))

J'ai utilisé les codes fournis par "user2543622" avec succès et j'ai rencontré récemment un problème avec le message d'erreur suivant. Savez-vous ce qui a mal tourné? Merci. Exception: le processus de passerelle Java s'est arrêté avant d'envoyer au pilote son numéro de port
user27155

0

Enfin, j'ai résolu le problème. J'ai dû définir l'emplacement pyspark dans la variable PATH et l'emplacement py4j-0.8.2.1-src.zip dans la variable PYTHONPATH.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.