最新 Airflow 2.6 版本有哪些更新?簡介 Notifiers, Grid View, Trigger, CLI 等多項更新內容(附程式碼)

Airflow 在最近釋出了最新的 2.6 版本,Astronomer 也在第一時間舉辦了一個講座,這篇文章記錄我在講座中看到的各種 Airflow 新功能和新修正,講座影片我放在本文最後面的參考資料,若有興趣的話也可以看看!

這次 Airflow 2.6 版本的更新包含了:

  • 35+ 個新功能
  • 50+ 個功能改進
  • 27 個 Bug 修正

以下是本篇文章的大綱:

  1. Notifiers:更方便的 Pipeline 示警功能
    1. 內建 Slack notifier
  2. Continuous Timetable:可以讓 Sensor 持續運作的功能
    1. Continuous 使用範例
  3. 可用 CLI 來測試 Connections 和查看 DAG 詳細資訊
  4. 新增部分 Async 非同步設定,釋放你的 Airflow 壓力
  5. 修正 Task 卡在 Queue 狀態的問題
  6. UI 介面的更新
    1. Grid View 更新:與 Graph View 有了更佳的整合
    2. 更新 Trigger DAG with Parameters 功能:可直接帶入歷史參數設定
  7. Pandas Serializer for XCOM:讓 Task 可以直接回傳 Pandas DataFrame
  8. 其他更新
  9. 總結
  10. 參考資料

Notifiers:更方便的 Pipeline 示警功能

這次多了內建的 Notifier 可以用
主要是搭配 DAG/Task 的 on_success_callback 或是 on_failure_callback 來使用

我覺得把通知直接整合進 Airflow 是一個很重要的功能
因為如果 Pipeline 壞掉卻沒有收到通知,那個後果真的非常可怕
尤其是常常 Pipeline 之間會有相依性
一個壞掉若沒有提早修復,就會造成很恐怖的連鎖反應
(例如:Data Engineer 修到瘋掉)

內建 Slack notifier

目前只有 Slack 是可以直接內建使用的,後續版本應該是還會再新增
設定的程式碼可以參考以下:

https://github.com/astronomer/2-6-example-dags/blob/main/dags/notifier_slack.py

如果想要用其他的通知,就需要另外自定義
自定義的方式也可以參考他們寫的程式碼: 2-6-example-dags/dags/notifier_file_toy.py


閱讀更多»