【发布时间】:2023-03-10 03:27:01
【问题描述】:
如何分配使用的python解释器spark worker?
我尝试了几种方法,例如: 1) 设置环境变量
export PYSPARK_DRIVER_PYTHON=/python_path/bin/python
export PYSPARK_PYTHON=/python_path/bin/python
不工作。我确定 PYSPARK_DRIVER_PYTHON PYSPARK_PYTHON 环境设置成功使用:
env | grep PYSPARK_PYTHON
我想使用 pyspark
/python_path/bin/python
作为启动python解释器
但是工人开始使用:
python -m deamon
我不想将默认 python 链接到 /python_path/bin/python,因为 这可能会影响其他开发人员,bcz 默认 python 和 /python_path/bin/python 版本不同,并且都在生产中使用。
同时设置 spark-env.sh 无效:
spark.pyspark.driver.python=/python_path/bin/python spark.pyspark.python=/python_path/bin/python
启动驱动程序时会出现一些警告日志,例如:
conf/spark-env.sh:第 63 行: spark.pyspark.driver.python=/python_path/bin/python: 没有这样的文件或目录 conf/spark-env.sh:第 64 行: spark.pyspark.python=/python_path/bin/python: 没有这样的文件或目录
【问题讨论】:
-
spark.pyspark.driver.python和spark.pyspark.python应设置在spark-defaults.conf中。spark-env.sh中的等价物是export PYSPARK_DRIVER_PYTHON=/python_path/bin/python、export PYSPARK_PYTHON=/python_path/bin/python。检查这两个文件以确保这些选项不会被覆盖。 -
@MaFF 谢谢你的提醒。
标签: python-2.7 apache-spark pyspark