在oozie中,input-events
非常简单,如果指定的文件/文件夹不存在,协调器作业将保持在WAITING
状态。但我无法理解output-events
的作用。
根据我的理解,如果所有指定的操作都成功,则应由oozie创建output-events
标记中指定的文件/文件夹。但这不会发生。我也找不到任何相关的日志。文件也没有明确说明这一点。
所以,问题是,Oozie真的创建output-events
中指定的文件/文件夹吗?或者只是提到这些特定的文件/文件夹是在工作流程中创建的,创作的责任在于工作,而不是在Oozie上?
可以在https://gist.github.com/venkateshshukla/de0dc395797a7ffba153
找到相关的代码答案 0 :(得分:4)
Oozie协调员的官方Oozie文档对output-events
元素的确切目的不是很清楚。然而,这本书" Apache Oozie:Hadoop的工作流调度程序"提到以下内容:
在重新处理协调器期间,Oozie尝试通过默认清理输出目录来帮助重试尝试。为此,它使用协调器XML中的
<output-events>
规范在运行新尝试之前删除旧输出。用户可以使用–noCleanup
选项覆盖此默认行为。
所以,总结一下:
output-events
中指定的文件,您需要在Oozie工作流操作中创建这些文件。output-events
配置用于提供有关Oozie工作流操作将创建 文件的Oozie信息,Oozie在重新运行/重新处理协调器时将用于清理文件。答案 1 :(得分:1)
始终操作生成数据,这些设置仅用于控制。 您会找到一些示例here