如何分配使用的python解释器spark worker?

时间:2018-02-12 09:16:41

标签: python-2.7 apache-spark pyspark

如何分配使用的python解释器spark worker?

我尝试了几种方法: 1)设置env Vars

export PYSPARK_DRIVER_PYTHON=/python_path/bin/python
export PYSPARK_PYTHON=/python_path/bin/python

不行。我敢肯定PYSPARK_DRIVER_PYTHON PYSPARK_PYTHON env设置成功使用:

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中/蟒 spark.pyspark.python = / python_path / bin中/蟒

启动驱动程序时会出现一些警告日志,如:

  

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:没有这样的文件或目录

1 个答案:

答案 0 :(得分:0)

1)检查python目录的权限。也许Spark没有正确的权限。尽量做到:sudo chmod -R 777 /python_path/bin/python

2)Spark documentation说:

  

属性spark.pyspark.python在设置时优先。

因此,请尝试在spark.pyspark.python中设置conf/spark-defaults.conf

3)此外,如果您使用具有多个节点的群集,则需要检查Python是否安装在每个节点上的正确目录中,因为您不知道工作人员将在何处启动。

4)Spark将使用系统PATH上可用的第一个Python解释器,因此像解决方法一样,您可以在PYTHON变量中设置python的路径。