1. 引言

Airflow是Airbnb開源的一個用Python寫就的工作流管理平臺(workflow management platform)。在前一篇文章中,介紹了如何用Crontab管理數(shù)據(jù)流,但是缺點也是顯而易見。針對于Crontab的缺點,靈活可擴展的Airflow具有以下特點:

  • 工作流依賴關(guān)系的可視化;

  • 日志追蹤;

  • (Python腳本)易于擴展

對比Java系的Oozie,Airflow奉行“Configuration as code”哲學(xué),對于描述工作流、判斷觸發(fā)條件等全部采用Python,使得你編寫工作流就像在寫腳本一樣;能debug工作流(test backfill命令),更好地判別是否有錯誤;能更快捷地在線上做功能擴展。Airflow充分利用Python的靈巧輕便,相比之下Oozie則顯得笨重厚拙太多(其實我沒在黑Java~~)。《What makes Airflow great?》介紹了更多關(guān)于Airflow的優(yōu)良特性;其他有關(guān)于安裝、介紹的文檔在這里、還有這里。

下表給出Airflow(基于1.7版本)與Oozie(基于4.0版本)對比情況:

網(wǎng)友評論