Airflow Console: https://github.com/Ryan-Miao/airflow-console
Apache Airflow擴展組件,
可以輔助生成dag, 並存儲到git倉庫.
Airflow提供了基於python語法的dag任務管理,我們可以定制任務內容
和任務依賴. 但對於很多數據分析人員來說,操作還是過於復雜. 期望可以
通過簡單的頁面配置去管理dag.
即本項目提供了一個dag可視化配置管理方案.
如何使用
一些概念
DAG: Airflow原生的dag, 多個任務依賴組成的有向無環圖, 一個任務依賴鏈。
Ext Dag: DAG擴展, DAG生成模板,通過頁面配置Ext Dag可以一鍵生成DAG python配置。
Ext Dag Category: Airflow原生不提供分類的概念,但Console我們擴展了分類功能, 我們創建不同Dag模板可以分屬於不同的DAG分類。
Ext Dag Task: Ext Dag的任務,真正任務的封裝體,分為Operator和Sensor, 可以組裝成Ext Dag.
1.創建業務分類.
我們的調度任務可以根據業務進行分類. 首先創建我們的業務類型.
2.創建dag
3.創建任務
點擊task按鈕進入task列表, 再點擊add添加一個任務.
添加bash任務
添加hive sql任務
添加hive出庫到mysql任務, 對應的插件為hive_to_rdbms_operator
4.配置任務依賴關系
Airflow提供了任務上下游依賴的管理方案,具體就是使用python的 >> 語法
a >> b 表示a的{{ds}}的任務執行完畢才可以執行b.
點擊更新按鈕保存依賴關系.
5.生成dag.py腳本
點擊提交按鈕, 生成python腳本預覽.
確認沒有問題后, 提交就可以將dag保存的git倉庫. Airflow那邊定時拉取git更新即可.
本地啟動
啟動airflow, 暴露pg端口和webserver端口,
docker-compose.yml
cd doc
docker-compose up
啟動后訪問localhost:8090即airflow初始化完成.
- 修改本項目db
修改application-dev.yml中DataSource的url host為localhost.
- 導入db
將schema.sql導入pg.
- 啟動本項目
訪問localhost:8081/api 即swagger地址.
- 啟動web