前情提要
Airflow寄信附檔:儲存 Bigquery執行結果為 csv檔
不囉嗦,直接上 Code
# 定義 email相關的設內容# 附件是我們在前情提要中已經下載而來的檔案
...receiver = { "宜蘭縣":YILAN_RECEIVER, "高雄市":KAOSHUNG_RECEIVER…
均一需要定期將部分資料給予外部合作夥伴,由於有部分的外部合作夥伴不熟析 API的技術,因此均一會需要將資料儲存成 csv檔,以附件方式寄送 email到外部夥伴的信箱,因此開始這一系列文。
在撰文當下,如果要將 Bigquery中的資料變成附件來寄送 email,會需要以下5個步驟
如果你看了上一篇(Airflow: 使用 Xcom / Variable傳遞參數)發現那不是你要的,你要的是像 python的…
Airflow 雖然是以 Python撰寫,在傳遞參數上卻不像 Python的 function那麼簡單,甚至全域變數和區域變數的使用也十分詭異,因此以下做一些我的統整,同時感謝網路上許多先進。
懶人包
同一個 DAG內傳遞變數:Xcom
跨 DAG傳遞變數:Variable
除了既有的 DAG,當我們需要新增 DAG時,常常遇到的問題是,branch 切過去了,在 terminal也看得到新增的檔案,但在 Web UI就是找不到(幹)
SlackAPIPostOperator
由於均一工作溝通主要使用 Slack,如果 Airflow各階段的執行結果都能在 Slack跳訊息通知,就不需要一直切換到 Airflow之中確認狀態;另外也不是每個人都有權限可以打開 Airflow,但都可以藉由…
Airflow的每一個節點都是由 DAG組成,因此我們必然會遇到要觸發 DAG執行的情況,藉由一連串的觸發,最後才能完成整條 pipeline.
在 Airflow:PythonOperator這篇文章我們已經講過 Airflow和 Python的愛恨情仇(誤),所以這邊不再重述。
Airflow在其官網中就表明他是一個純粹的 Python架構,因此對 Python的支援很廣泛,作為多數資料工程人員熟悉的語言,如果能用 Python操作一定是相對容易的。
在開始之前,先介紹一下什麼是 Bash
全名為 Bourne Again SHell,是 Linux底下 shell中的程式語言,必須誠實說我 對 Linux只有基礎認識,主要運用在本機 terminal查詢,在 Airflow和 Gitlab CICD也會使用到。