從開發到上線

使用 Airflow 建置資料管線

Volker Janz

Senior Developer Advocate at Astronomer

The Airflow CLI

$ airflow dags trigger <dag_id>
$ airflow dags list-runs <dag_id>
$ airflow backfill create --dag-id <dag_id> ...

 

  • 與 UI 並用的正式環境工具組
  • 自動化操作並以腳本部署
使用 Airflow 建置資料管線

觸發一次執行

$ airflow dags trigger daily_sales_load --logical-date 2026-04-20
dag_id            | logical_date             | run_id
daily_sales_load  | 2026-04-20T00:00:00+00:00 | manual__2026-...

 

  • 針對特定日期建立手動執行
  • 使用 --logical-date 指定此執行要處理的日期
  • 注意 run_idmanual__ 開頭
使用 Airflow 建置資料管線

列出執行

$ airflow dags list-runs daily_sales_load
run_id                           | state   | logical_date
scheduled__2026-04-23T00:00:00   | success | 2026-04-23T00:00:00
manual__2026-04-20T00:00:00      | success | 2026-04-20T00:00:00

 

  • 顯示該 Dag 的所有執行
  • run_id 前綴可看出執行是如何建立
  • scheduled__ = 由排程器建立
  • manual__ = 由trigger 指令或 UI 建立
使用 Airflow 建置資料管線

回填歷史資料

$ airflow backfill create \
    --dag-id daily_sales_load \
    --from-date 2026-04-20 \
    --to-date 2026-04-22 \
    --max-active-runs 1

 

  • 重新處理一段歷史日期區間
  • 依每個排程區間建立一個執行
  • --max-active-runs 控制並行度
  • 回填執行的前綴為 backfill__
使用 Airflow 建置資料管線

三種執行類型

三種執行類型、其前綴與建立方式

  • scheduled__:由排程器自動建立
  • manual__:由trigger 指令或 UI 按鈕建立
  • backfill__:由backfill 指令為歷史日期建立
  • run_id 的前綴可辨識是哪一種
使用 Airflow 建置資料管線

正式環境挑戰

Airflow 正式環境的挑戰:建置、執行、觀測

  • Build:設定 Airflow 環境、以 AI 驅動的工作流程開發、將程式碼部署到正式環境
  • Run:擴展 workers、跨區域容錯切換
  • Observe:失敗調查、追蹤資料新鮮度、跨 Dag 追蹤血緣
使用 Airflow 建置資料管線

Astro:Build

 

Astro CLI

  • 一行指令啟動本機 Airflow
  • 無縫部署到正式環境

$$

Astro IDE

  • 瀏覽器版 Dag 撰寫
  • AI 輔助撰碼,免本機設定

Astro Build 產品

使用 Airflow 建置資料管線

Astro:Run 與 Observe

Run

  • 依任務佇列彈性自動擴縮
  • 高可用性與自動容錯切換
  • 免管理基礎架構

Observe

  • 管線血緣橫跨 Dags 與資料表
  • 主動式 SLA 警示,在逾期前通知
  • AI 日誌摘要,更快找出根因

Astro Observe

使用 Airflow 建置資料管線

一起來練習吧!

使用 Airflow 建置資料管線

Preparing Video For Download...