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

SRS
la source
Message utile
Dawny33

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

Jon
la source
1

Vérifiez si ce lien pourrait vous aider.

programmeur sans titre
la source
J'ai déjà suivi ça. Ne fonctionne pas
SRS
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'))
user2543622
la source
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.

SRS
la source