我是 Oozie 的新手。有人可以帮我解决这个要求吗?
我有一个 Java 代码,因为我有一个保存文件名的 ArrayList
。
假设如果我的 ArrayList
包含 10 个文件,然后遍历列表中的每个文件,我必须调用另一个 Pig
和 Hive
操作乌兹。
我对此进行了探索,发现 Oozie 不支持直接循环,我可能不得不使用 oozie 子工作流
。
那么有人可以帮我解决这个问题吗?
最佳答案
oozie 不支持循环。
在您的场景中,我建议采用以下方法。
- 创建动态生成 workflow.xml 的 Java 代码。
- 此 workflow.xml 应该有您的第一个 java 操作,然后是内部 hive 和 pig 操作,然后一次又一次地迭代这些操作,直到循环完成。注意 Action 名称应该有一些标志,这样每个循环 Action 都有不同的名称,只有这样 oozie 才会执行工作流。
您的工作流程会说:
循环 1 - Javaction1、hiveaction1 和 pigaction1
循环 2. Javaction2、hiveaction2 和 pigaction2
希望对您有所帮助。
关于hadoop - 在 Oozie 中循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40004717/