Airflow集成在線編寫創建dag的插件

注意:該插件目前只適用於Python2,對於Python3的環境不適合。

集成DAG生成插件

1、在github上下載該插件並上傳到服務器上並解壓,github地址爲:

https://github.com/lattebank/airflow-dag-creation-manager-plugin

封裝docker鏡像時將文件打包到AIRFLOW_HOME目錄的plugins目錄

同時封裝鏡像時,因爲該插件還集成了安全認證,但使用的flask-login模塊與當前的airflow自動下載的模塊版本不匹配,先卸載原來的flask-login

pip uninstall flask-login
pip install flask-login:0.2.11

部署使用

在部署k8s或者docker應用時,修改配置文件airflow.cfg,在最後添加如下配置

[dag_creation_manager]
# DEFAULT: basis
dag_creation_manager_line_interpolate = basis 
# Choices for queue and pool  使用的池
dag_creation_manager_queue_pool = mydefault:mydefault|mydefault 
# MR queue for queue pool  使用的隊列
dag_creation_manager_queue_pool_mr_queue = mydefault:mydefault
# Category for display
dag_creation_manager_category = custom
# Task category for display
dag_creation_manager_task_category = custom_task:#ffba40
# Your email address to receive email
# DEFAULT: 
dag_creation_manager_default_email = [email protected]
dag_creation_manager_need_approver = False
dag_creation_manager_can_approve_self = True
# 地址
dag_creation_manager_dag_templates_dir = /usr/local/airflow/plugins/dcmp/dag_templates

該插件啓用之後,許多功能會被屏蔽掉,此處不開啓,如果需要開啓在Airflow.cfg中的[webserver]配置:

authenticate = True
auth_backend = dcmp.auth.backends.password_auth

第一次執行時需要先升級一下現有的airflow數據庫

python /opt/airflow/plugins/dcmp/tools/upgradedb.py

這樣就可以打開web界面來使用ui界面編寫管理dag了

打開UI界面,選擇“Admin”下的“Pools”

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

使用介紹

在這裏插入圖片描述
3
在這裏插入圖片描述
下拉到底部,填寫DAG相關配置,此處配置每分鐘執行一次
在這裏插入圖片描述
在這裏插入圖片描述
在下方填寫該TASK的名稱及腳本類型與腳本代碼等信息,此處腳本內容爲向/tmp/airflow.dat文件定時輸入“*************************”:
在這裏插入圖片描述
再點擊“ADD TASK”,將會在上面的“task1”節點後添加一個task,此處的規則是要在哪個task後添加一個任務,先點擊該task,再點擊“ADD TASK”:
在這裏插入圖片描述
再添加一個與task1同級的task,向/tmp/airflow.log定期輸出當前時間:
在這裏插入圖片描述
修改依賴,將task1和task3都作爲task2的依賴:先點擊task2,點擊Change Upstream,選擇task3
在這裏插入圖片描述
在這裏插入圖片描述
回到主界面之後,該DAG不會馬上被識別出來,默認情況下Airflow是5分鐘掃描一次dag目錄,該配置可在airflow.cfg中修改。

識別出來之後打開主界面,點擊“暫停按鈕”取消暫停開始執行:
在這裏插入圖片描述

參考:https://cloud.tencent.com/developer/article/1424491

發佈了628 篇原創文章 · 獲贊 2834 · 訪問量 405萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章