這是Oozie的旨在解決具體使用情況。 Oozie將在啓動之前等待所有數據依賴。
請理解以下CONFIGS在coordinator.xml
<datasets>
<dataset name="my_data" frequency="${coord:days(1)}" initial-instance="2013-01-27T00:00Z">
<uri-template>YOUR_DATA/${YEAR}${MONTH}${DAY}</uri-template>
</dataset>
...
<datasets>
<input-events>
<data-in name="my_data" dataset="my_data">
<instance>${coord:current(-1)}</instance>
</data-in>
</input-events>
<output-events>
<data-out name="my_data" dataset="my_data">
<instance>${coord:current(0)}</instance>
</data-out>
</output-events>
的:在輸入事件「座標電流(-1)」是指前面的輸出。它會將數據集URI組件解釋爲「昨天」,並且Oozie將通過檢查成功標誌來檢查數據是否存在於HDFS中,成功標誌默認爲輸出目錄下的名爲「_SUCCESS」的空文件。 Oozie將在啓動當前工作流程之前繼續等待此標誌。
順便說一句,你還可以設置
<coordinator-app name="my_coordinator" frequency="${coord:days(1)}" start="${start_time}" end="${end_time}" ...>
定義起始時間和協調工作的結束時間,這樣你就可以趕上積壓數據。
你爲共同領導指定的頻率是多少? –
看看這些例子,https://github.com/yahoo/oozie/wiki/Oozie-Coord-Use-Cases我不確定這是不是最好的主意,但是你可以使用'Coordinator Job With Timeouts'示例來設置超時並消除堆積相同的作業 –
對不起,我錯過了關鍵信息那裏 - 頻率設置爲每天,但我們有積壓舊數據導入,因此它的調度工作更頻繁比這是因爲它們的標稱運行時間在過去。 – user1111284