在 oozie 中添加 pyspark python 路径



我正在尝试使用Hue在Oozie上运行一个简单的python脚本。我正在使用已安装的 anaconda 包裹,所以我还添加了 Cloudera 管理器、火花配置(Spark Service 高级配置片段(安全阀)用于 spark-conf/spark-env.sh)

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

运行作业时,我有一个python错误导入错误:没有名为 pandas.io.json 的模块,这意味着PYSPARK_PYTHON似乎没有从蟒蛇那里拿走那个。

我试图添加一个参数

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

通过 Hue 的火花动作,但似乎不起作用。

如果我通过 CLI 运行脚本并 Spark 提交,它可以工作。如果我通过 Hue 在 Oozie 上运行其他 python 脚本(没有来自 anaconda 的软件包),它可以工作。

我错过了什么? :/

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

尝试添加具有键oozie.launcher.mapreduce.map.env和值PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python的火花操作的新属性,它应该按预期工作。

最新更新