Ich habe das gleiche Problem mit Standalone-Funken in Fenstern . Meine Version von fix sieht folgendermaßen aus: Ich hatte meine Umgebungsvariablen wie folgt eingestellt
PYSPARK_SUBMIT_ARGS="pyspark-shell"
PYSPARK_DRIVER_PYTHON=jupyter
PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
Mit dieser Einstellung habe ich eine Aktion auf pyspark ausgeführt und die folgende Ausnahme erhalten:
Python in worker has different version 3.6 than that in driver 3.5, PySpark cannot run with different minor versions.
Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.
Um zu überprüfen, mit welcher Python-Version mein Spark-Worker verwendet, klicken Sie in der cmd- Eingabeaufforderung auf Folgendes .
python --version
Python 3.6.3
das zeigte mir Python 3.6.3 . Mein Spark-Worker verwendet also eindeutig Systempython v3.6.3.
Jetzt, da ich meinen Spark-TreiberPYSPARK_DRIVER_PYTHON=jupyter
so eingestellt habe, dass er Jupiter durch Ausführen ausführt , muss ich überprüfen, welche Python-Version Jupiter verwendet.
Öffnen Sie dazu die Anaconda-Eingabeaufforderung und klicken Sie auf
python --version
Python 3.5.X :: Anaconda, Inc.
Hier hat der Jupyter Python die v3.5.x verwendet . Sie können diese Version auch in jedem Notebook überprüfen (Hilfe-> Info).
Jetzt muss ich die Jupiter-Python auf die Version v3.6.6 aktualisieren . Öffnen Sie dazu die Anaconda-Eingabeaufforderung und drücken Sie
Conda Suche Python
Dadurch erhalten Sie eine Liste der verfügbaren Python-Versionen in Anaconda. Installieren Sie Ihre gewünschte mit
conda install python = 3.6.3
Jetzt habe ich beide Python-Installationen der gleichen Version 3.6.3 Spark sollte nicht konform sein und es nicht, als ich eine Aktion auf Spark-Treiber ausgeführt habe. Ausnahme ist weg. Viel Spaß beim Codieren ...