Oozie工作流程中的多个JAVA操作

时间:2013-01-29 00:54:10

标签: hadoop oozie

我读到了在工作流中无法创建循环的文档,但我需要每次使用list项分别调用main方法 - 因此需要创建循环。

一种解决方案是使用子工作流再次调用工作流程。

还有其他解决办法吗?喜欢使用协调员工作?

1 个答案:

答案 0 :(得分:1)

我能想到的一些可能的“黑客”解决方案:

  • 如您所述,创建一个自定义Java操作,它使用Oozie Client API运行多个工作流程(列表中的每个项目都有一个)。然后,您可以并行或串行运行项目,并轮询成功/失败。
  • 与上面类似的另一个选项是使用一些模板语言,如Apache Velocity,并让你的自定义操作获取模板并展开它(动态生成工作流xml文件),然后再使用Oozie Client API运行这个生成的工作流程。

我更喜欢第二种选择,因为你可以制作通用解决方案。