Pyspark Dataproc主节点和工作节点之间的Python版本不同

Pyspark Dataproc主节点和工作节点之间的Python版本不同,pyspark,google-cloud-dataproc,Pyspark,Google Cloud Dataproc,我创建了一个dataproc集群,其中Anaconda是可选组件,并创建了一个虚拟环境。因为现在,当在主节点上运行pyspark py文件时,我遇到了这个错误- 例外:worker中的Python与worker中的Python版本2.7不同 驱动程序3.6,PySpark无法使用不同的次要版本运行。请 检查环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON 设置正确 我需要虚拟环境中的RDKit包。随着python3x版本的安装。在我的主节点上执行以下命令,然后更改

我创建了一个dataproc集群,其中Anaconda是可选组件,并创建了一个虚拟环境。因为现在,当在主节点上运行pyspark py文件时,我遇到了这个错误-

例外:worker中的Python与worker中的Python版本2.7不同 驱动程序3.6,PySpark无法使用不同的次要版本运行。请 检查环境变量PYSPARK_PYTHON和PYSPARK_DRIVER_PYTHON 设置正确

我需要虚拟环境中的RDKit包。随着python3x版本的安装。在我的主节点上执行以下命令,然后更改python版本

conda create -n my-venv -c rdkit rdkit=2019.*   
conda activate my-venv
conda install -c conda-forge rdkit

我如何解决这个问题?

这里有几点:

1.3
(默认)图像使用conda和Python 2.7。我建议切换到
1.4
--image version 1.4
),它在Python 3.6中使用conda

如果Worker上需要此库,则可以使用初始化操作将更改一致地应用于所有节点

Pyspark目前不支持virtualenvs,但这种支持即将到来。目前,您可以在virtualenv中运行pyspark程序,但这并不意味着工人将在virtualenv中运行。是否可以在没有virtualenv的情况下将更改应用于基本conda环境


更多信息可以在这里找到

是的,我也意识到了这一点,并使用1.4图像版本创建了集群。通过更改/opt/conda/anaconda/I上的权限,我能够在base env上安装这些包。