Oozie的coordinator有啥用?
The Oozie Coordinator system allows the user to define and execute recurrent and interdependent workflow jobs (data application pipelines).
说白了就是可以把各个 workflow作业组织起来。比如,A作业执行完成之后,会有输出,该输出触发B作业的执行。那么 A B 这两个workflow作业就可以通过一个coordinator作业组织起来。
什么是coordinator作业?Coordinator Job: A coordinator job is an executable instance of a coordination definition. A job submission is done by submitting a job configuration that resolves all parameters in the application definition.
这说明coordinator作业也是需要配置相应的参数的。与提交workflow作业时配置 workflow.xml类似,coordinator作业也有一个名为coordinator.xml的配置文件。
什么是coordinator action?
Coordinator Action: A coordinator action is a workflow job that is started when a set of conditions are met (input dataset instances are available).
coordinator action本质上是一个workflow 作业!
Coordinator Application: A coordinator application defines the conditions under which coordinator actions should be created (the frequency) and when the actions can be started. The coordinator application also defines a start and an end time. Normally, coordinator applications are parameterized. A Coordinator application is written in XML.
coordinator application 负责管理各个coordinator action。有start time 和 end time,负责其中定义的action的起动与终止。
前面一直在纠结这个问题:现在记录如下:Oozie提供的一个官方的关于定时作业配置文件,内容如下:${workflowAppUri} jobTracker ${jobTracker} nameNode ${nameNode}
文章开头说了Coordinator作业可以把其他作业组织起来。因此,提交一个Coordinator作业时,会生成一个 父作业ID 和 若干子作业的ID,子作业就是Coordinator作业的配置文件中的 <workflow>标签中指定的子作业。比如:
生成的一个父作业ID:0000033-160516121313115-oozie-oozi-C
相应的子作业ID:0000033-160516121313115-oozie-oozi-C@1
由于该子作业是一个workflow作业,workflow作业的ID:0000034-160516121313115-oozie-oozi-W
另外,相关的具体规则可