私は上の同じ問題だスタンドアロンスパークでのウィンドウを。私の修正バージョンは次のとおりです。環境変数を次のように設定しました。
PYSPARK_SUBMIT_ARGS="pyspark-shell"
PYSPARK_DRIVER_PYTHON=jupyter
PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
この設定で、pysparkでアクションを実行し、次の例外が発生しました。
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.
私のspark-workerが使用しているPythonバージョンを確認するには、cmdプロンプトで次を押します。
python --version
Python 3.6.3
Python3.6.3を見せてくれました。したがって、明らかに私のスパークワーカーはv3.6.3であるシステムPythonを使用しています。
設定してjupyterを実行するようにspark-driverを設定したPYSPARK_DRIVER_PYTHON=jupyter
ので、jupyterが使用しているPythonバージョンを確認する必要があります。
これを行うには、Anacondaプロンプトを開いて、
python --version
Python 3.5.X :: Anaconda, Inc.
ここで、jupyterpythonがv3.5.xを使用していることがわかりました。このバージョンは、どのノートブックでも確認できます([ヘルプ]-> [バージョン情報])。
次に、jupyterpythonをバージョンv3.6.6に更新する必要があります。これを行うには、Anacondaプロンプトを開いてヒットします
conda search python
これにより、Anacondaで利用可能なPythonバージョンのリストが表示されます。で希望のものをインストールします
conda install python = 3.6.3
これで、同じバージョン3.6.3のPythonインストールが両方とも実行されました。Sparkは準拠しないはずであり、Sparkドライバーでアクションを実行したときに準拠しませんでした。例外はなくなりました。ハッピーコーディング..。