整體性測試會檢查載入是否正確,單元測試會檢查邏輯是否正確,但兩者都不會實際執行整個 Dag。使用 dag.test() 的整合測試能補上這個缺口,因為它會在單一行程中依序執行所有工作。有一個名為 etl_output 的 ETL 管線已部署,會把結果寫入 /tmp/etl_results.json。
dag.test()
etl_output
/tmp/etl_results.json
你將撰寫一個整合測試,完整跑過整條管線,並驗證其輸出。
本練習屬於課程
將理論付諸實踐,立即體驗我們的互動練習
你將先認識 Airflow 的元件,使用 TaskFlow API 撰寫你的第一個 Dags,並透過 XCom 在任務之間傳遞資料。
接著,你會用動態任務對映平行執行任務,使用 Assets 以資料為基準排程 Dags,並加入人工核准步驟。
本章將透過重試與回呼處理失敗情況,使用可延後的感測器節省資源,並以三個層級測試你的 Dags。
當前練習
在最後一章,你會在 DuckDB 上建置 SQL ETL 管線,使用 Asset Partitions 加入分割區感知的排程,並內嵌資料品質檢查。