【问题标题】:Set python path for Spark worker为 Spark worker 设置 python 路径
【发布时间】:2020-07-26 21:33:11
【问题描述】:

为 Python 工作节点设置 sys 路径的“正确”方法是什么?

工作节点从主节点“继承”系统路径是个好主意吗?

通过.bashrc 在工作节点中设置路径是个好主意吗?还是有一些标准的 Spark 设置方式?

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    设置环境变量的标准方法,包括PYSPARK_PYTHON,是使用conf/spark-env.sh文件。 Spark 附带一个模板文件 (conf/spark-env.sh.template),其中解释了最常见的选项。

    这是一个普通的 bash 脚本,因此您可以像使用 .bashrc 一样使用它

    您可以在Spark Configuration Guide 中找到更多详细信息。

    【讨论】:

    • 大多数人都希望在 spark-env.sh 中做这样的事情: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PYTHONPATH =$PYTHONPATH:$DIR 而且它不起作用。如果您在某个副作用步骤中将其推送到所有工作节点,则可能会起作用。通过 pyspark 或 spark-submit 执行此操作的运行时方式是什么?
    • 这个 conf 设置在独立的 spark 中起作用:spark.executorEnv.[EnvironmentVariableName]
    【解决方案2】:

    通过以下代码,您可以仅更改当前作业的python路径,这也允许驱动程序和执行程序使用不同的python路径:

        PYSPARK_DRIVER_PYTHON=/home/user1/anaconda2/bin/python PYSPARK_PYTHON=/usr/local/anaconda2/bin/python pyspark --master ..
    

    【讨论】:

      【解决方案3】:

      您可以执行以下任一操作 -

      在配置中,

      更新SPARK_HOME/conf/spark-env.sh,添加以下行:

      # for pyspark
      export PYSPARK_PYTHON="path/to/python"
      # for driver, defaults to PYSPARK_PYTHON
      export PYSPARK_DRIVER_PYTHON="path/to/python"
      

      在代码中,添加:

      import os
      # Set spark environments
      os.environ['PYSPARK_PYTHON'] = 'path/to/python'
      os.environ['PYSPARK_DRIVER_PYTHON'] = 'path/to/python'
      

      【讨论】:

        【解决方案4】:

        我的案例的错误是:

        异常:worker 中的 Python 与 2.6 版本不同 驱动程序 2.7,PySpark 无法使用不同的次要版本运行

        有帮助的解决方案:

        export PYSPARK_PYTHON=python2.7
        export PYSPARK_DRIVER_PYTHON=python2.7
        jupyter notebook
        

        当然,我在worker上本地安装了python2.7。
        我想我也设置 PATH 也很重要。
        我不依赖当地工人的设置。该路径是从设置 jupyter-notebook 的边缘节点继承而来的。

        【讨论】:

          猜你喜欢
          • 2012-08-29
          • 1970-01-01
          • 2015-04-09
          • 1970-01-01
          • 2022-11-25
          • 2014-10-15
          • 1970-01-01
          • 2013-10-06
          • 2023-04-11
          相关资源
          最近更新 更多