Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark spark.executorEnv不';似乎没有任何效果_Apache Spark_Environment Variables_Pyspark - Fatal编程技术网

Apache spark spark.executorEnv不';似乎没有任何效果

Apache spark spark.executorEnv不';似乎没有任何效果,apache-spark,environment-variables,pyspark,Apache Spark,Environment Variables,Pyspark,根据Spark,有一种方法可以将环境变量传递给生成的执行器: spark.ExecuteEnv.[EnvironmentVariableName]将EnvironmentVariableName指定的环境变量添加到执行器进程。用户可以指定其中的多个来设置多个环境变量 我试图引导我的pyspark应用程序使用特定的python可执行文件(anaconda environment with numpy等),这通常是通过更改spark env.sh中的pyspark_python变量来完成的。尽管这种

根据Spark,有一种方法可以将环境变量传递给生成的执行器:

spark.ExecuteEnv.[EnvironmentVariableName]将EnvironmentVariableName指定的环境变量添加到执行器进程。用户可以指定其中的多个来设置多个环境变量

我试图引导我的pyspark应用程序使用特定的python可执行文件(anaconda environment with numpy等),这通常是通过更改
spark env.sh
中的
pyspark_python
变量来完成的。尽管这种方式可行,但每次我想切换virtualenv时,向所有集群节点发送新配置看起来是一种巨大的过度杀伤力

这就是为什么我试图通过以下方式传递PYSPARK_PYTHON:

uu@e1:~$PYSPARK\u DRIVER\u PYTHON=ipython PYSPARK--conf\
spark.executenv.PYSPARK_PYTHON=“/usr/share/anaconda/bin/PYTHON”\
--主人spark://e1.local:7077
但它似乎不起作用:

[1]中的
:sc.\u conf.getAll()
出[1]:
[(u'spark.executenv.PYSPARK_PYTHON',u'/usr/share/anaconda/bin/PYTHON'),
(u'spark.rdd.compress',u'True'),
(u'spark.serializer.objectStreamReset',u'100'),
(你是星火大师,你是spark://e1.local:7077'),
(u'spark.submit.deployMode',u'client'),
(u'spark.app.name',u'PySparkShell')]
[2]中:定义虚拟对象(x):
导入系统
返回sys.executable
...: 
在[3]中:sc.parallelize(xrange(100),50).map(dummy).take(10)
出[3]:
['/usr/bin/python2.7',
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”,
“/usr/bin/python2.7”]
我的
spark env.sh
没有配置
PYSPARK_PYTHON
,因此这只是调用的默认PYTHON。一些附加信息:它是spark 1.6.0独立模式群集

我错过了一些重要的东西吗?

快速浏览一下

我想他们只是在做出口 你能做什么

export PYSPARK_PYTHON=“/usr/share/anaconda/bin/PYTHON”

看看它是否适用于所有遗嘱执行人 然后就跑

PYSPARK_DRIVER_PYTHON=ipython PYSPARK快速浏览

我想他们只是在做出口 你能做什么

export PYSPARK_PYTHON=“/usr/share/anaconda/bin/PYTHON”

看看它是否适用于所有遗嘱执行人 然后就跑


PYSPARK_DRIVER_PYTHON=ipython PYSPARK

如果理解正确,您希望您的驱动程序使用/usr/bin/python2.7,而执行程序使用/usr/share/anaconda/bin/PYTHON?哦,ipython,我用来启动驱动程序的实际上也是/usr/share/anaconda/bin/PYTHON。我想,我不希望在集群中保持一致,但我更喜欢偶尔在python之间切换。不确定这是否有帮助。快速浏览一下,我想他们只是在做导出,你能做导出PYSPARK_PYTHON=“/usr/share/anaconda/bin/PYTHON”看看它是否适用于所有执行者,然后运行PYSPARK_DRIVER_PYTHON=ipython pysparkIt是一个很好的捕获,先生!我认为,你应该把它作为一个答案,并得到一个投票和接受。如果理解正确,你希望你的驱动程序使用/usr/bin/python2.7,执行者使用/usr/share/anaconda/bin/python?哦,ipython,我用来启动驱动程序的实际上也是/usr/share/anaconda/bin/python。我想,我不希望在集群中保持一致,但我更喜欢偶尔在python之间切换。不确定这是否有帮助。快速浏览一下,我想他们只是在做导出,你能做导出PYSPARK_PYTHON=“/usr/share/anaconda/bin/PYTHON”看看它是否适用于所有执行者,然后运行PYSPARK_DRIVER_PYTHON=ipython pysparkIt是一个很好的捕获,先生!我认为,你应该把它作为一个答案,并获得投票&接受。