Ho avuto lo stesso problema su Spark standalone in Windows . La mia versione della correzione è così: avevo le mie variabili di ambiente impostate come muggito
PYSPARK_SUBMIT_ARGS="pyspark-shell"
PYSPARK_DRIVER_PYTHON=jupyter
PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
Con questa impostazione ho eseguito un'azione su pyspark e ho ottenuto la seguente eccezione:
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.
Per verificare con quale versione di Python sta usando il mio spark-worker, premi quanto segue nel prompt di cmd .
python --version
Python 3.6.3
che mi ha mostrato Python 3.6.3 . Quindi chiaramente il mio spark-worker sta usando il sistema python che è v3.6.3.
Ora mentre imposto il mio spark-driver per eseguire jupyter impostando PYSPARK_DRIVER_PYTHON=jupyter
, devo controllare la versione di python che jupyter sta usando.
Per fare questo, apri Anaconda Prompt e premi
python --version
Python 3.5.X :: Anaconda, Inc.
Qui ho il jupyter python sta usando la v3.5.x . Puoi controllare questa versione anche in qualsiasi Notebook (Aiuto-> Informazioni).
Ora ho bisogno di aggiornare jupyter python alla versione v3.6.6 . Per farlo, apri il prompt di Anaconda e premi
conda ricerca python
Questo ti darà un elenco delle versioni di Python disponibili in Anaconda. Installa quello desiderato con
conda installa python = 3.6.3
Ora ho entrambe le installazioni Python della stessa versione 3.6.3 Spark non dovrebbe essere conforme e non lo ha fatto quando ho eseguito un'azione su Spark-driver. L'eccezione è andata. Buona codifica ...