Airflow 功能齊全。一個完善的生態系統和社群共同解決幾乎所有(批次)資料管線需求。
問題是什麼?
我們面臨著管理冗長的 crontab 的複雜性日益增加,排程成為一個問題,這需要仔細規劃時間,因為資源限制、使用模式,尤其是重試邏輯所需的自訂程式碼。在後者的情況下,必須在執行下一個任務之前驗證先前任務和/或步驟的成功。此外,結果產出時間很重要,但我們越來越依賴緩衝區進行處理,導致事情實際上處於閒置狀態且未處理,等待下一個階段,目的是為了減少對自訂程式碼/邏輯的依賴。
阿帕契氣流如何幫助解決這個問題?
仰賴社群建立和現有的 hooks 和 operators 來連接我們使用的大多數雲端服務,使我們能夠專注於業務成果,而不是營運。
結果是什麼?
Airflow 幫助我們管理許多痛點,讓我們受益於整體的生態系統和社群。透過在處理流程中採用事件驅動的方式,我們能夠縮短資料產品的端到端交付時間(例如,在我們的首次使用中,我們能夠平均減少各階段之間超過 2 小時的等待時間)。此外,由於不需要那麼多自訂或自行開發的解決方案,我們能夠更快地達成產品目標並進行迭代。我們的程式碼庫更小更簡單,更容易理解,而且在很大程度上,我們的 DAG 可以作為新貢獻者理解正在發生的事情的充分文件。