【问题标题】:Different Python version between Dataproc master and worker nodesDataproc 主节点和工作节点之间的 Python 版本不同
【发布时间】:2020-05-16 00:10:11
【问题描述】:

我创建了一个以 Anaconda 作为可选组件的 dataproc 集群,并创建了一个虚拟环境。在那里面。现在在主节点上运行 pyspark py 文件时出现此错误 -

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

我需要虚拟环境中的 RDKit 包。并安装了该 python 3x 版本。我的主节点上的以下命令,然后 python 版本更改。

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

我该如何解决这个问题?

【问题讨论】:

    标签: pyspark google-cloud-dataproc


    【解决方案1】:

    这里有几件事:

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

    如果工作人员需要此库,您可以使用 this 初始化操作将更改一致地应用于所有节点。

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

    更多信息可以在这里找到https://cloud.google.com/dataproc/docs/tutorials/python-configuration

    【讨论】:

    • 是的,我也意识到了这一点,并使用 1.4 映像版本创建了集群。通过更改 /opt/conda/anaconda/ 的权限,我能够在基础环境中安装软件包。
    猜你喜欢
    • 2016-08-30
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    相关资源
    最近更新 更多