Oozie协调员有多个工作流程

时间:2014-10-30 09:20:25

标签: oozie oozie-coordinator

我有三个Workflow XML文件,例如WF1 WF2 WF3。我可以在一个协调员中将所有这些工作流程链接到以下操作吗? WF1是时间相关的WF2是文件依赖性WF3是没有任何依赖性。

3 个答案:

答案 0 :(得分:8)

您无法在一个协调员中链接所有三个工作流程。

使用" subworkflow"而不是你可以在单独的工作流xml(父)文件中链接所有三个工作流。 oozie中的概念。(所有三个工作流文件WF1,WF2,WF3都被称为此父工作流文件中的子工作流)

然后,您可以使用协调器xml文件来安排父工作流文件,以便链接所有三个工作流文件。

参考: https://bhatnagarankitblog.wordpress.com/2013/11/09/multiple-executions/

答案 1 :(得分:5)

不幸的是,一个oozie协调员只能有一个动作/工作流程。它在xml架构中定义:Oozie 4.01 CoordinatorFunctionalSpec.html#Oozie_Coordinator_Schema_0.4



<xs:complexType name="COORDINATOR-APP">
  <xs:sequence>
    ...
    <xs:element name="action" type="coordinator:ACTION" minOccurs="1" maxOccurs="1" />
    ...
</xs:complexType>
&#13;
&#13;
&#13;

然而,正如请求者在评论部分指出的那样,Oozie确实提供了一种将协调员工作捆绑在一起的方法。请注意,作业之间的依赖关系需要由用户按照文档提及进行管理:

  

Bundle是一个更高级别的oozie抽象,它将批处理一组协调器应用程序。用户将能够在捆绑级别中启动/停止/暂停/恢复/重新运行,从而实现更好,更轻松的操作控制。

     

更具体地说,oozie Bundle系统允许用户定义   并执行一堆通常称为数据的协调器应用程序   管道。协调员之间没有明确的依赖关系   捆绑中的应用程序。但是,用户可以使用该数据   协调器应用程序的依赖关系以创建隐式数据   应用程序管道。

答案 2 :(得分:2)

不能在单个协调器中链接所有三个工作流,但您可以为每个工作流创建单独的协调器,并使用捆绑包链接它们。

要了解详情,coordinate jobs link