Apache Spark: Verwendung von pyspark mit Python 3


91

Ich habe Spark 1.4 vom GH-Entwicklungsmaster erstellt, und der Build lief einwandfrei. Aber wenn ich eine mache, bin/pysparkbekomme ich die Python 2.7.9 Version. Wie kann ich das ändern?


7
Für alle, die danach suchen: PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pysparkIn diesem Fall wird das IPython 3-Notebook ausgeführt.
Tchakravarty

Antworten:


141

Stellen Sie einfach die Umgebungsvariable ein:

export PYSPARK_PYTHON=python3

Wenn Sie möchten, dass dies eine dauerhafte Änderung ist, fügen Sie diese Zeile zum pyspark-Skript hinzu.


Die Umgebungsvariablen können unter / etc / profile bearbeitet werden. Vergessen Sie nicht, nach dem Speichern des Profils "source / etc / profile" auszuführen, damit die Änderungen sofort wirksam werden können.
Phytiker

1
Offensichtlich export PYSPARK_PYTHON=python3.5für Python 3.5
Phyticist

4
Es ist besser, dies hinzuzufügen, $SPARK_HOME/conf/spark-env.shdamit spark-submitauch derselbe Interpreter verwendet wird.
flow2k

@ flow2k das ist eine bessere idee. Tnx
mohammad RaoofNia

32
PYSPARK_PYTHON=python3 
./bin/pyspark

Wenn Sie in IPython Notebook ausgeführt werden möchten, schreiben Sie:

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

Wenn python3nicht zugänglich ist, müssen Sie stattdessen den Pfad dazu übergeben.

Beachten Sie, dass die aktuelle Dokumentation (ab 1.4.1) veraltete Anweisungen enthält. Zum Glück wurde es gepatcht .


1
Ich denke, Ihr Befehl für das IPython Notebook ist nicht korrekt. Sollte so aussehen: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "Notizbuch" ./bin/pyspark
SpiderRico

@ ChrisNielsen Im Terminal.
Piotr Migdal

@ChrisNielsen Unter Linux oder OS X ist ein Terminal / eine Konsole. Ich habe keine Ahnung, wie es unter Windows funktioniert (unter Windows habe ich Spark nur für einen Docker-Container verwendet).
Piotr Migdal

@SpiderRico Diese scheinen auf meinem Mac nicht zu funktionieren. Verwenden Sie Folgendes, damit Jupyter Notebook für Spark funktioniert. PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "Notizbuch" ./bin/pyspark
Hank Chan

9

1, Profil bearbeiten:vim ~/.profile

2, fügen Sie den Code in die Datei ein: export PYSPARK_PYTHON=python3

3, Befehl ausführen: source ~/.profile

4, ./bin/pyspark


4

Schauen Sie sich die Datei an. Die Shebang-Zeile zeigt wahrscheinlich auf die 'env'-Binärdatei, die den Pfad nach der ersten kompatiblen ausführbaren Datei durchsucht.

Sie können Python in Python3 ändern. Ändern Sie die Umgebung, um die python3-Binärdatei direkt fest zu codieren. Oder führen Sie die Binärdatei direkt mit python3 aus und lassen Sie die Shebang-Zeile weg.


1
Ja, es hat geholfen, in die Akte zu schauen. Wird benötigt, um die PYSPARK_PYTHONUmgebungsvariable festzulegen.
Tchakravarty

3

Bearbeiten Sie für Jupyter Notebook die spark-env.shDatei wie unten gezeigt über die Befehlszeile

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

Gehen Sie zum Ende der Datei und kopieren Sie diese Zeilen

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

Führen Sie dann einfach den folgenden Befehl aus, um pyspark in Notebook zu starten

$ pyspark
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.