我有三个Workflow XML文件,例如WF1 WF2 WF3。我可以在一个协调员中将所有这些工作流程链接到以下操作吗? WF1是时间相关的WF2是文件依赖性WF3是没有任何依赖性。
答案 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;
然而,正如请求者在评论部分指出的那样,Oozie确实提供了一种将协调员工作捆绑在一起的方法。请注意,作业之间的依赖关系需要由用户按照文档提及进行管理:
Bundle是一个更高级别的oozie抽象,它将批处理一组协调器应用程序。用户将能够在捆绑级别中启动/停止/暂停/恢复/重新运行,从而实现更好,更轻松的操作控制。
更具体地说,oozie Bundle系统允许用户定义 并执行一堆通常称为数据的协调器应用程序 管道。协调员之间没有明确的依赖关系 捆绑中的应用程序。但是,用户可以使用该数据 协调器应用程序的依赖关系以创建隐式数据 应用程序管道。
答案 2 :(得分:2)
不能在单个协调器中链接所有三个工作流,但您可以为每个工作流创建单独的协调器,并使用捆绑包链接它们。
要了解详情,coordinate jobs link