我有一个由Oozie的协调安排,并每4小时MapReduce工作。 这MapReduce工作需要一个参数,假设K,其值设置在job.config文件。 我想知道如果我改变两分之间的这种参数的值,它挑更新的(新)值,或者它坚持原来的(旧)值?
Answer 1:
如果作业是乳宁模式时,它会坚持旧的参数它的自我,如果工作在等待调度运行,那么它会采取的最新值:)。
Answer 2:
其实,有一个“动态”取在运行时的参数值的迂回方式:
- 在工作流的开头插入的虚设壳牌动作,与<捕获输出/>选项集
- 在shell脚本,只要下载一个属性从HDFS文件和转储它STDOUT
- “捕获输出”选项告诉了Oozie到标准输出解析为一个Map(即一键/值列表)
- 然后使用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?