首页 文章

在oozie中添加pyspark python路径

提问于
浏览
0

我正在尝试使用Hue在Oozie上运行一个简单的python脚本 . 我正在使用anaconda parcels安装,所以我还添加了Cloudera管理器,spark配置(spark-conf / spark-env.sh的Spark服务高级配置代码段(安全阀))

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的包)它可以工作 .

我错过了什么? :/

1 回答

  • 3

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

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

相关问题