Apache Spark: come utilizzare pyspark con Python 3


91

Ho creato Spark 1.4 dal master di sviluppo GH e la build è andata a buon fine. Ma quando faccio un filebin/pyspark eseguo ottengo la versione Python 2.7.9. Come posso cambiarlo?


7
Per chiunque cerchi come farlo PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pyspark:, nel qual caso esegue il notebook IPython 3.
tchakravarty

Risposte:


142

Basta impostare la variabile d'ambiente:

export PYSPARK_PYTHON=python3

nel caso in cui desideri che sia una modifica permanente, aggiungi questa riga allo script pyspark.


Le variabili d'ambiente possono essere modificate in / etc / profile. Non dimenticare di eseguire "source / etc / profile" dopo aver salvato il profilo, in modo che le modifiche possano essere applicate immediatamente.
Fiticista

1
Ovviamente, usa export PYSPARK_PYTHON=python3.5per Python 3.5
Phyticist

4
È meglio aggiungere questo in $SPARK_HOME/conf/spark-env.shmodo da spark-submitutilizzare anche lo stesso interprete.
flow2k

@ flow2k è un'idea migliore. Tnx
mohammad RaoofNia

32
PYSPARK_PYTHON=python3 
./bin/pyspark

Se vuoi eseguire in IPython Notebook, scrivi:

PYSPARK_PYTHON=python3 
PYSPARK_DRIVER_PYTHON=ipython 
PYSPARK_DRIVER_PYTHON_OPTS="notebook" 
./bin/pyspark

Se python3non è accessibile, è necessario passarci il percorso.

Tieni presente che la documentazione corrente (alla 1.4.1) contiene istruzioni obsolete. Fortunatamente, è stato riparato .


1
Penso che il tuo comando per il notebook IPython non sia corretto. Dovrebbe essere così: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
SpiderRico

@ChrisNielsen Nel terminale.
Piotr Migdal

@ChrisNielsen In Linux o OS X è un terminale / console. Non ho idea di come funzioni in Windows (quando in Windows, ho usato Spark solo su un container Docker).
Piotr Migdal

@SpiderRico Questi non sembrano funzionare sul mio Mac. Affinché Jupyter Notebook funzioni per Spark, utilizzare quanto segue. PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
Hank Chan

9

1, modifica profilo:vim ~/.profile

2, aggiungi il codice nel file: export PYSPARK_PYTHON=python3

3, eseguire il comando: source ~/.profile

4, ./bin/pyspark


4

Dai un'occhiata al file. La riga shebang è probabilmente puntata al binario 'env' che cerca il percorso del primo eseguibile compatibile.

Puoi cambiare python in python3. Modificare env per utilizzare direttamente il codice binario python3. Oppure esegui il binario direttamente con python3 e ometti la riga shebang.


1
Sì, esaminare il file ha aiutato. Necessario per impostare la PYSPARK_PYTHONvariabile d'ambiente.
tchakravarty

4

Per Jupyter Notebook, modifica il spark-env.shfile come mostrato di seguito dalla riga di comando

$ vi $SPARK_HOME/conf/spark-env.sh

Vai alla fine del file e copia e incolla queste righe

export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

Quindi, esegui semplicemente il seguente comando per avviare pyspark nel notebook

$ pyspark
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.