iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

小小前言

突然收到私訊說安裝不起來,才發現前面有一些東西沒講清楚,還是建議大家直接 create 在 ~/airflow,然後虛擬環境也放在裡面,day3 的安裝部分有新增多一點提醒,debug 的部分也會持續更新,有問題都可以留言/images/emoticon/emoticon12.gif

夢回昨天

耶~看到我的 DAG 了~誒~應該都有看到吧,沒有的話,可以在 search_tag 的框框搜尋一下,再把開關打開,就能在active 的頁面看到了。
https://ithelp.ithome.com.tw/upload/images/20230923/20135427z7ZluWQo5I.png

接下來,我們要來認識一下 Airflow Web UI 使用者介面了~

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 啦~/images/emoticon/emoticon06.gif

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,綠色代表都是執行成功,好險/images/emoticon/emoticon16.gif

接下來點擊 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

THE END

今天就先到這邊吧,每天都從 9 點一路打到快截止,真的很刺激誒,希望明天能多囤個 3~5 篇,至少某天上班回家可以休息一下吧~海賊王真人版都還沒看ㄟ~


上一篇
[Day7] 30秒實作第一個 Airflow DAG
下一篇
[Day9] Airflow Tasks 之間的資料間諜 XComs
系列文
Airflow 是什麼? 能吃嗎 ? 數據水管工的超級蘑菇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言