我在Windows中的独立Spark上遇到了同样的问题。我的修复版本如下:我将环境变量设置为以下
PYSPARK_SUBMIT_ARGS="pyspark-shell"
PYSPARK_DRIVER_PYTHON=jupyter
PYSPARK_DRIVER_PYTHON_OPTS='notebook' pyspark
使用此设置,我在pyspark上执行了一个Action并得到以下异常:
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
向我展示了Python 3.6.3。所以很明显我的火花工人正在使用系统Python,即v3.6.3。
现在,当我通过设置将我的spark-driver设置为运行jupyter时,PYSPARK_DRIVER_PYTHON=jupyter
我需要检查jupyter使用的python版本。
为此,请打开Anaconda Prompt并点击
python --version
Python 3.5.X :: Anaconda, Inc.
这是jupyter python正在使用v3.5.x的地方。您也可以在任何笔记本中查看此版本(帮助->关于)。
现在我需要更新jupyter蟒蛇版本v3.6.6。为此,请打开Anaconda Prompt并点击
康达搜索python
这将为您提供Anaconda中可用的python版本的列表。安装您所需的
康达安装python = 3.6.3
现在,我同时拥有两个版本3.6.3的Python安装,Spark不应该这样做,而当我在Spark-driver上运行Action时,它并没有这样做。异常消失了。快乐的编码...