Apache Oozie是工作流排程用在Hadoop中。它是一個執行相關的作業工作流系統。這裡,使用者被允許建立向非迴圈圖工作流程,其可以在並列 Hadoop 並順序地執行。
它由兩部分組成:
Oozie可延伸性和可管理及時執行成千上萬的工作流程(每個由幾十個作業)的Hadoop叢集。
Oozie 也非常靈活。人們可以很容易啟動,停止,暫停和重新執行作業。Oozie 可以很容易地重新執行失敗的工作流。可以很容易重做因宕機或故障錯過或失敗的作業。甚至有可能跳過一個特定故障節點。
Oozie 執行作為叢集服務,用戶端提交的工作流定義:立即或以後處理。
Oozie 工作流由動作節點和控制流的節點組成。
一個操作節點代表一個工作流任務,例如,移動檔案到HDFS,執行 MapReduce,Pig 或 Hive 作業,使用 Sqoop 匯入資料或 執行Java 編寫程式的 shell 指令碼。
一個控制流節點通過允許像條件邏輯結構,不同的分支可以根據較早動作節點的結果,隨後執行動作工作流程。
開始節點,終端節點和錯誤節點屬於這一類節點。
開始節點, 指定的工作流程作業的開始。
結束節點, 作業的結束信號。
錯誤節點, 指定要列印錯誤和相應的錯誤資訊的發生。
在執行工作流的結束, HTTP 回撥用於通過 Oozie 更新用戶端與工作流狀態。入門或出口,從動作節點還可能會觸發回撥。
工作流程圖範例
使用Oozie的主要目的是為了管理不同型別的作業在Hadoop系統中處理。
作業之間的依賴關係是由使用者向無環圖的形式指定。Oozie 的消費資訊以及在工作流中指定負責其執行的順序正確。這樣,使用者同時管理儲存整個工作流程。此外 Oozie 有指定執行特定工作頻率規定。