1.功能方面:
Azkaban和Oozie都可以調用像shell腳本、MR、hive任務、spark、java等工作流任務,并且都可以設定任務來執行。
2.關于架構:
azkaban是一個輕量級的架構,開發較為簡單,有良好的web界面對任務可以随時進行檢視監控。
oozie是一個基于hadoop的分布式的工作流排程架構,相對于azkaban的來講oozie的web頁面不是很友好,執行排程時會啟動MR任務,需要使用xml檔案配置工作流,有一定的難度,是一個重量級架構,從架構的重量級上來說相對于oozie而言azkaban任務流排程系統還是很常用的。
3.工作流:
azkaban通過properties檔案中配置任務來進行排程。
oozie通過在xml檔案中配置任務來進行排程。
4.工作流傳參對比:
Azkaban支援直接傳參,例如 $ {parameter}。
Oozie支援參數和EL表達式兩種方式,例如${fs:dirSize(parameter)}。
5.資源管理:
Azkaban有較嚴格的權限控制,如使用者對工作流進行讀/寫/執行等操作,但是Oozie暫無嚴格的權限控制。
6.任務失敗:
Azkaban會丢失所有的工作流。
但是Oozie可以在繼續失敗的工作流運作。