【问题标题】:How to change value in an oozie job coordinator?如何改变 oozie 工作协调员的价值?
【发布时间】:2015-07-20 16:46:41
【问题描述】:

我有一个由 oozie 协调员安排的 mapreduce 作业,每 4 小时运行一次。这个 mapreduce 作业有一个参数,比如说 k,它的值是在 job.config 文件中设置的。我想知道如果我在两次运行之间更改此参数的值,它是选择更新的(新)值还是坚持原始(旧)值?

【问题讨论】:

    标签: oozie oozie-coordinator


    【解决方案1】:

    如果作业处于运行模式,它将坚持自己的旧参数,如果作业正在等待调度运行,那么它将采用最新值:)。

    【讨论】:

      【解决方案2】:

      其实,有一种迂回的方式可以在运行时“动态”获取参数值:

      1. 在工作流的开头插入一个虚拟 Shell 操作,其中 选项集
      2. 在 shell 脚本中,只需从 HDFS 下载一个属性文件,然后 转储到 STDOUT
      3. “capture-output”选项告诉 Oozie 将 STDOUT 解析为 Map(即键/值列表)
      4. 然后使用 E.L.检索适当值的函数 下一步行动

      ${wf:actionData("DummyShellAction")["some.key"]}

      http://oozie.apache.org/docs/4.0.0/WorkflowFunctionalSpec.html#a4.2.6_Hadoop_Jobs_EL_Function

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多