官方對Apache Airflow進行了大規模的更新,發布第2個主要版本,除了改進調度器效能之外,同時也簡化了KubernetesExecutor的使用方法,另外,這個版本也加入新的範式,供開發者編寫有向無環圖(Directed Acyclic Graph,DAG)。

現在於Apache Airflow編寫有向無環圖更簡單了,官方新增TaskFlow API,讓用戶能夠在有向無環圖中,顯式宣告任務之間傳遞的訊息,有助於簡化宣告PythonOperator的過程,並且更清楚地處理相依關係。

官方也改善了Airflow調度器的效能,並支援同時執行多個調度器,可用來建置高可用配置,以提升調度效能,或是避免其中一個調度器故障,官方提到,要執行多調度器,必須要使用Postgres 9.6或MySQL 8以上版本,但不需要進行額外的設定,調度器啟動後,會自動透過資料庫與其他調度器配合運作。

在Apache Airflow 2.0中,官方以更快更有彈性的形式,重新建構了KubernetesExecutor,使用者可以用直覺的方式,存取完整的Kubernetes API,同時官方還移除KubernetesExecutor中約3,000行程式碼,使得KubernetesExecutor執行效率更好,並且減少潛在的錯誤。

對於在Apache Airflow叢集使用大量感測器的用戶,叢集效能會在2.0版本獲得改善。過去感測器占用大部分的叢集資源,為了改善這一點,官方在新版加入了智慧感測器模式,透過合併長時間運作的輕量級任務,來大幅降低Airflow基礎設施的成本。這項功能經Airbnb嚴謹測試過,但仍被標記為早期存取功能,代表之後仍可能會有破壞性更動。

Apache Airflow 2.0並非單一的應用程式,而是由核心以及61個供應商套件構成,這些套件提供諸如Google、Amazon和微軟等外部服務,還有資料庫與協定等各種功能,使用者可以創建自定義的Airflow安裝程式,僅安裝需要的部分。

熱門新聞

Advertisement