如何在Oozie的工作协调更改值?(How to change value in an oozie

2019-10-24 00:29发布

我有一个由Oozie的协调安排,并每4小时MapReduce工作。 这MapReduce工作需要一个参数,假设K,其值设置在job.config文件。 我想知道如果我改变两分之间的这种参数的值,它挑更新的(新)值,或者它坚持原来的(旧)值?

Answer 1:

如果作业是乳宁模式时,它会坚持旧的参数它的自我,如果工作在等待调度运行,那么它会采取的最新值:)。



Answer 2:

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

  1. 在工作流的开头插入的虚设壳牌动作,与<捕获输出/>选项集
  2. 在shell脚本,只要下载一个属性从HDFS文件和转储它STDOUT
  3. “捕获输出”选项告诉了Oozie到标准输出解析为一个Map(即一键/值列表)
  4. 然后使用EL函数来检索在未来的操作相应的值(一个或多个)

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

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



文章来源: How to change value in an oozie job coordinator?