1. 引言
Airflow是Airbnb開源的一個(gè)用Python寫就的工作流管理平臺(tái)(workflow management platform)。在前一篇文章中,介紹了如何用Crontab管理數(shù)據(jù)流,但是缺點(diǎn)也是顯而易見。針對(duì)于Crontab的缺點(diǎn),靈活可擴(kuò)展的Airflow具有以下特點(diǎn):
工作流依賴關(guān)系的可視化;
日志追蹤;
(Python腳本)易于擴(kuò)展
對(duì)比Java系的Oozie,Airflow奉行“Configuration as code”哲學(xué),對(duì)于描述工作流、判斷觸發(fā)條件等全部采用Python,使得你編寫工作流就像在寫腳本一樣;能debug工作流(test backfill命令),更好地判別是否有錯(cuò)誤;能更快捷地在線上做功能擴(kuò)展。Airflow充分利用Python的靈巧輕便,相比之下Oozie則顯得笨重厚拙太多(其實(shí)我沒在黑Java~~)?!?a style="margin: 0px; padding: 0px; color: rgb(0, 105, 214); font-weight: inherit; line-height: inherit;">What makes Airflow great?》介紹了更多關(guān)于Airflow的優(yōu)良特性;其他有關(guān)于安裝、介紹的文檔在這里、還有這里。
下表給出Airflow(基于1.7版本)與Oozie(基于4.0版本)對(duì)比情況: