输出事件不是由oozie协调员生成的

时间:2016-12-18 18:36:51

标签: hadoop oozie

我的协调员应用程序成功读取输入事件并在标称时间执行工作流程,但输出事件根本没有生成。

我尝试在没有完成标志的情况下设置输出事件,但它不起作用。我做错了什么?

下面是我的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> 

1 个答案:

答案 0 :(得分:1)

嗯,我有同样的问题。我甚至设置为空。我手动创建了_SUCCESS文件。我挖了。在Apache Oozie:Hadoop的工作流调度程序一书中找到。但我不知道,如果它是有效的。

不,Oozie不会自动创建输出事件中指定的文件,您需要在Oozie工作流操作中创建这些文件。

输出事件配置用于提供有关Oozie工作流操作将创建哪些文件的Oozie信息,Oozie在重新运行/重新处理协调器时将用于清理文件。