【學習】Airflow

Young Tsai
Young
Published in
3 min readJan 26, 2020

Ref

Note

  • Anaconda 讓你事後管理不同專案的環境時輕鬆不少:
conda create -n airflow-tutorials python=3.6 -y
source activate airflow-tutorials
pip install "apache-airflow[crypto, slack]"
export AIRFLOW_HOME="$(pwd)"
airflow initdb

啟動 webserver

airflow webserver -p 8080
  • 完成Airflow UI 設定後,要記得啟動排程器,否則 在 UI 上任何的 trigger 都不會開始真正跑,也就是看文章的時候,要注意這一段:
airflow scheduler
  • Airflow 架構圖:真正排程是由 scheduler 呼叫 worker,而我們能視覺化觀察各種 log、操作,則是由 webserver 協助安排,所有的資料都會存在 Metadata Database
圖片來源
  • 使用 airflow test 指令測試每個工作,確保 DAG 沒有寫壞,例如:
airflow test comic_app_v1 superman_task 2018-08-18
  • 可以進入 DAG的 graph view,點擊 task 後,再點擊 Task Instance Details,就能看到這個 task run 的情形,尤其是 Task Instance State

--

--