五、Airflow Web UI 介面說明

Airflow Web UI 介面說明、DAGs、Cluster activity: 集群活動、Datasets: 資料集、Security: 安全、Browse: 瀏覽、Admin: 管理

五、Airflow Web UI 介面說明
Photo by Sigmund / Unsplash

這系列的文章源自我 2023/9/16-2023/10/15  參加的 iT 鐵人賽:
2023 鐵人賽系列文章:Airflow 是什麼? 能吃嗎 ? 數據水管工的超級蘑菇

前言

如果有完成 四、30秒實作第一個 Airflow DAG 應該都有看到自己的 DAG 吧,沒有的話,可以在 search_tag 的框框搜尋一下,再把開關打開,就能在active 的頁面看到了。

https://ithelp.ithome.com.tw/upload/images/20230923/20135427z7ZluWQo5I.png

DAGs

就是上面截圖的頁面,也是首頁,會顯示所有 DAG 清單、DAG 運行狀態、下次和上次運行的時間,可以打開右上角的 Auto-refresh,運行時就會即時更新。

  • 在這個頁面可以很方便的執行 / 暫停 / 刪除 DAGs
  • 右邊的 Links 會連接到裡面更多功能 :
  • Grid view: 網格執行狀態
  • Graph: 圖形呈現
  • Gantt: 甘特圖顯示每個任務運行順序和持續時間
  • Code: 顯示 DAG 代碼。
  • Details: 顯示 DAG 詳細資訊,歷史運行總量、運行資料間隔、暫時儲存的值,和 Metadata~
https://ithelp.ithome.com.tw/upload/images/20230923/20135427IoxlDT8wy9.png

Cluster activity: 集群活動

這裡會有所有 DAGs 運行的總指標,包含目前哪些 DAGs 開啟或暫停,還有過去的運行歷史狀況。

https://ithelp.ithome.com.tw/upload/images/20230923/20135427RehBKkzANN.png

Datasets: 資料集

資料集是很新的頁面,Airflow 2.4版本之後才出現,其中可以設定資料集之間的相關性,而且好像有資料感知(data-aware)的功能,我也還沒用過,如果後續有用到再來更新。

https://ithelp.ithome.com.tw/upload/images/20230923/20135427sogaWdwfhJ.png

Security: 安全

Security 頁面通常就是設定各個使用者的權限。

https://ithelp.ithome.com.tw/upload/images/20230923/20135427yGUAn8AYbL.png

Browse: 瀏覽

Browse 的頁面最常用到的就是 DAG Runs,會打開查看過去執行的狀態,清除或是刪除,然後接著重新執行。

https://ithelp.ithome.com.tw/upload/images/20230923/2013542778sA12kjsp.png

Admin: 管理

Admin 的管理頁面也很常使用,會來確認 XComs 目前傳遞的資料,或是看 VariablesConfigurations 有哪些可以調整或使用的,這部分之後應該都會各花一天示範和說明。

https://ithelp.ithome.com.tw/upload/images/20230923/20135427A7GAg9dTGt.png
Connections 的部分也常常用來設定和資料庫的連接

Docs: 官方文件

老實說,Airflow 的文件真的算還蠻不錯的,而且官方論壇也有在回答問題,大家學習過程中不妨多看看文件,或是到 Astronomer learn 的學習頁面,都有很多乾貨可以看。

跑跑跑~向前跑~

一下子又講很多廢話,到底要不要 run 啦~
https://ithelp.ithome.com.tw/upload/images/20230923/20135427hJIQ7hhq10.png
https://ithelp.ithome.com.tw/upload/images/20230923/20135427qUOnWvCGtp.png

執行完了,先看到主頁的 Runs 區塊多了一個綠色圈的1 ,Recent Tasks 區塊多了一個綠色圈的2,代表我們執行了 1 個 DAG 和 2 個 tasks,綠色代表都是執行成功。

接下來點擊 DAG

https://ithelp.ithome.com.tw/upload/images/20230923/20135427gMpKWBH11j.png


可以看到多了很多內容,左邊的 Grid view: 網格執行狀態,上方長條形綠色的是 DAG 執行時間,下方兩個點是 tasks 執行狀態,綠色是成功,那其他勒?可以看到中間不同顏色的框,裡面都有寫執行的狀態,也不用特別記,點進來就可以看,相信紅色的 fail 之後是一定會記得的

/images/emoticon/emoticon01.gif

點擊Grid view 當中的 task1

可以看到會多出一個 logs 的頁面,我們就是要進入去看我們執行的程式有沒有順利顯示。

https://ithelp.ithome.com.tw/upload/images/20230923/20135427S3ga5u08fv.png
  • 看到有印出 start!! 代表我們的 BashOperator 有認真工作,完成任務啦~
  • 接下來就再以此類推檢查 task2

點擊 Graph

就可以看到我們設定的任務關係了

task1 >> task2
https://ithelp.ithome.com.tw/upload/images/20230923/20135427BDsKgpMW0y.png
Q: 不知道大家有沒有發現時間怪怪的,目前是台灣晚上11點多,怎麼上面執行時間是下午 3 點多呢?
A: 因為目前是使用 UTC 時區在執行,而台灣是 +8 時區,自然會差 8 小時囉~
可以自己調整,但時區也是一個重要的問題,之後會花一篇文章說明
https://ithelp.ithome.com.tw/upload/images/20230923/20135427wIqqtxTS7z.png