Come eseguire un'applicazione pyspark nel prompt dei comandi di Windows 8


8

Ho uno script Python scritto con Spark Context e voglio eseguirlo. Ho provato a integrare IPython con Spark, ma non ci sono riuscito. Quindi, ho provato a impostare il percorso spark [Cartella / bin installazione] come variabile d'ambiente e ho chiamato il comando spark-submit nel prompt cmd. Credo che stia trovando il contesto della scintilla, ma produce un errore davvero grande. Qualcuno può aiutarmi per favore con questo problema?

Percorso variabile d'ambiente: C: /Users/Name/Spark-1.4; C: /Users/Name/Spark-1.4/bin

Successivamente, nel prompt di cmd: spark-submit script.py

inserisci qui la descrizione dell'immagine


Risposte:


3

Sono abbastanza nuovo su Spark e ho capito come integrarmi con IPython su Windows 10 e 7. Innanzitutto, controlla le variabili di ambiente per Python e Spark. Ecco i miei: SPARK_HOME: C: \ spark-1.6.0-bin-hadoop2.6 \ Io uso Enthought Canopy, quindi Python è già integrato nel mio percorso di sistema. Successivamente, avvia Python o IPython e usa il seguente codice. Se ricevi un errore, controlla cosa ottieni per 'spark_home'. Altrimenti, dovrebbe funzionare bene.

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 su IPython



1

La risposta di Johnnyboycurtis funziona per me. Se stai usando Python 3, usa il codice seguente. Il suo codice non funziona in Python 3. Sto modificando solo l'ultima riga del suo codice.

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'))

Ho usato con successo i codici forniti da "user2543622" e ho riscontrato di recente un problema con il seguente messaggio di errore. Sai cosa è andato storto? Grazie. Eccezione: il processo del gateway Java è terminato prima di inviare al driver il suo numero di porta
user27155

0

Alla fine ho risolto il problema. Ho dovuto impostare la posizione pyspark nella variabile PATH e la posizione py4j-0.8.2.1-src.zip nella variabile PYTHONPATH.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.