2017-10-20 72 views
0

我想在使用Hue的Oozie上运行一个简单的python脚本。我使用的是安装了所以我也加入了Cloudera管理器,火花的配置(火花服务高级配置片段(安全阀)的火花的conf/spark-env.sh)在oozie中添加pyspark python路径

if [ -z "${PYSPARK_PYTHON}" ]; then 
export PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python 
fi 

当运行包裹蟒蛇工作,我有一个python错误 ImportError:没有名为pandas.io.json的模块 ,这意味着PYSPARK_PYTHON似乎没有采用anaconda中的一个。

我试图用

PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python 

上通过色调火花动作添加一个论据,但似乎并不工作。

如果我通过CLI运行脚本并使用spark-submit,它就可以工作。 如果我通过Hue在Oozie上运行其他python脚本(没有来自anaconda的包),它可以工作。

我错过了什么? :/

回答

2

当通过Oozie使用spark时,您需要告诉应该在启动器容器(启动spark会话的容器)上设置哪些环境变量。

尝试使用键oozie.launcher.mapred.child.env和值PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python添加火花动作的新属性,它应该按预期工作。

+0

嗨我可以获得oozie spark动作的属性,使得spark作业被提交为“用户”而不是“YARN” – Rohan

+0

此功能被称为“模拟”,并且据我所知它不可配置为动作,但对于整个oozie服务器配置。 – Mariusz

+0

你拯救我的一天! –