如何改变oozie工作协调员的价值?

时间:2015-07-20 16:46:42

标签: oozie oozie-coordinator

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

2 个答案:

答案 0 :(得分:0)

如果作业处于运行模式,它将自动坚持Old参数,如果作业正在等待计划运行,则它将采用最新值:)。

答案 1 :(得分:0)

实际上,有一种在运行时“动态”获取参数值的狡猾方法:

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

    $ {WF:actionData( “DummyShellAction”)[ “some.key”]}

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