我的协调员应用程序成功读取输入事件并在标称时间执行工作流程,但输出事件根本没有生成。
我尝试在没有完成标志的情况下设置输出事件,但它不起作用。我做错了什么?
下面是我的coordinator.xml文件。
<coordinator-app name="wf_scheduler" frequency="${coord:days(1)}"
start="2016-12-14T00:00Z" end="2016-12-19T00:00Z" timezone="IST"
xmlns="uri:oozie:coordinator:0.2">
<controls>
<timeout>30</timeout>
<concurrency>3</concurrency>
<execution>FIFO</execution>
<throttle>3</throttle>
</controls>
<datasets>
<dataset name="inp_logs" frequency="${coord:days(1)}"
initial-instance="2016-12-01T00:00Z" timezone="IST">
<uri-template>
/user/cloudera/inp_logs/${YEAR}_${MONTH}_${DAY}
</uri-template>
<done-flag></done-flag>
</dataset>
<dataset name="opt_logs" frequency="${coord:days(1)}"
initial-instance="2016-12-01T00:00Z" timezone="IST">
<uri-template>
/user/cloudera/opt_logs/${YEAR}_${MONTH}_${DAY}
</uri-template>
<done-flag>_trigger</done-flag>
</dataset>
</datasets>
<input-events>
<data-in name="input" dataset="inp_logs">
<instance>${coord:current(0)}</instance>
</data-in>
</input-events>
<output-events>
<data-out name="output" dataset="opt_logs">
<instance>${coord:current(0)}</instance>
</data-out>
</output-events>
<action>
<workflow>
<app-path>${app_path}</app-path>
</workflow>
</action>
</coordinator-app>
答案 0 :(得分:1)
嗯,我有同样的问题。我甚至设置为空。我手动创建了_SUCCESS文件。我挖了。在Apache Oozie:Hadoop的工作流调度程序一书中找到。但我不知道,如果它是有效的。
不,Oozie不会自动创建输出事件中指定的文件,您需要在Oozie工作流操作中创建这些文件。
输出事件配置用于提供有关Oozie工作流操作将创建哪些文件的Oozie信息,Oozie在重新运行/重新处理协调器时将用于清理文件。