【问题标题】:Adding pyspark python path in oozie在 oozie 中添加 pyspark python 路径
【发布时间】:2018-09-12 22:05:47
【问题描述】:

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

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

我错过了什么? :/

【问题讨论】:

    标签: apache-spark pyspark oozie


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,我可以获取 oozie spark 操作的属性,以便将 spark 作业作为“用户”而不是“YARN”提交
    • 此功能称为“模拟”,据我所知,它不可配置为操作,但可配置为整个 oozie 服务器配置。
    • 你拯救了我的一天!
    • Nit: "mapred" 属性自 Hadoop V2 起已弃用,在 V3 中可能会被忽略 => oozie.launcher.mapreduce.map.env
    猜你喜欢
    • 2019-07-18
    • 1970-01-01
    • 2015-04-25
    • 2020-06-19
    • 1970-01-01
    • 2017-11-27
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多