0
点赞
收藏
分享

微信扫一扫

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 = xxx@qq.com
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”

Airflow集成在线编写创建dag的插件_dags


Airflow集成在线编写创建dag的插件_dags_02


Airflow集成在线编写创建dag的插件_在线_03

使用介绍

Airflow集成在线编写创建dag的插件_web_04


Airflow集成在线编写创建dag的插件_airflow_05


Airflow集成在线编写创建dag的插件_airflow_06


下拉到底部,填写DAG相关配置,此处配置每分钟执行一次

Airflow集成在线编写创建dag的插件_dags_07


Airflow集成在线编写创建dag的插件_web_08


在下方填写该TASK的名称及脚本类型与脚本代码等信息,此处脚本内容为向/tmp/airflow.dat文件定时输入“*************************”:

Airflow集成在线编写创建dag的插件_airflow_09


再点击“ADD TASK”,将会在上面的“task1”节点后添加一个task,此处的规则是要在哪个task后添加一个任务,先点击该task,再点击“ADD TASK”:

Airflow集成在线编写创建dag的插件_airflow_10


再添加一个与task1同级的task,向/tmp/airflow.log定期输出当前时间:

Airflow集成在线编写创建dag的插件_airflow_11


修改依赖,将task1和task3都作为task2的依赖:先点击task2,点击Change Upstream,选择task3

Airflow集成在线编写创建dag的插件_dags_12


Airflow集成在线编写创建dag的插件_web_13


回到主界面之后,该DAG不会马上被识别出来,默认情况下Airflow是5分钟扫描一次dag目录,该配置可在airflow.cfg中修改。识别出来之后打开主界面,点击“暂停按钮”取消暂停开始执行:

Airflow集成在线编写创建dag的插件_在线_14

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


举报

相关推荐

0 条评论