【问题标题】:Apache Spark on Oozie: providing extra config file?Oozie 上的 Apache Spark:提供额外的配置文件?
【发布时间】:2017-06-23 04:27:12
【问题描述】:

我正在构建一个 Spark 应用程序(当前为 1.6.0),以便在 Cloudera 上运行 Oozie 在 Hue。我们希望使用 Hue 和 Oozie,因为与在 Oozie XML 配置中乱搞或在命令行上启动 spark-submit 相比,运行这些作业的人会更适应基于浏览器的界面。

我已经弄清楚如何通过 Hue (3.10) 运行基本的 Oozie/Spark 动作。但是我们希望能够在运行时通过配置文件提供各种非 Spark 参数,就像普通的 Scala 应用程序一样。我正在努力寻找一种机制,(a)Oozie 将接受,并且(b)Spark 将识别以在运行时从指定文件中提取配置参数。

我尝试了各种排列方式,例如将此作为选项之一放在 Hue 的 Oozie 操作“属性”选项卡中:

options "-Dconfig.file=/my/file/location/fubar.conf"

但 Spark 作业无法获取配置,或者完全失败(日志中没有明显错误)。

使用 spark-submit 从命令行以本地模式(即不在 Cloudera 上)运行 Spark 代码似乎可行:

spark-submit --class com.example.Sparky --master local[*] \
--driver-java-options "-Dconfig.file=/my/file/location/fubar.conf" \
target/scala-2.11/spark-dummy_2.11-1.0.jar

所以我想我需要了解如何为 Cloudera 上的 Oozie/Spark Action 提供等效的运行时配置。

有人知道正确的做法吗?

【问题讨论】:

  • 对不起,上面的Oozie选项其实是“--driver-java-options ...”

标签: apache-spark cloudera oozie hue


【解决方案1】:

事实证明,您可以将选项指定为 Oozie Spark Action 的 Java 驱动程序选项。

您可以通过表单初始页面右上角的小齿轮符号编辑 Spark Action 以设置各种属性。

单击齿轮打开表单的第二页,然后选择“属性”选项卡。

在“选项列表”中,输入与 spark-submit 示例中相同的 Java 驱动程序选项:

--driver-java-options "-Dconfig.file=/my/file/location/fubar.conf"

因此,这允许您将属性传递到您的 Spark 应用程序中,否则这些属性可能会通过您的应用程序配置文件进行设置。例如,如果您有一个属性“app.fubar.var1”,您可以直接通过 Java 驱动程序选项将其传入。

--driver-java-options "-Dapp.fubar.var1=myvalue"

但如果我像这样将配置文件传递到 Oozie Spark Action 中,我仍然无法让我的 Spark 应用识别配置文件的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2014-09-04
    • 2021-11-20
    相关资源
    最近更新 更多