300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Airflow集成编写创建dag的插件

Airflow集成编写创建dag的插件

时间:2022-06-08 02:51:02

相关推荐

Airflow集成编写创建dag的插件

全栈工程师开发手册 (作者:栾鹏)

架构系列文章

注意:该插件目前只适用于Python2,对于Python3的环境不适合。

集成DAG生成插件

1、在github上下载该插件并上传到服务器上并解压,github地址为:

/lattebank/airflow-dag-creation-manager-plugin

封装docker镜像时将文件打包到AIRFLOW_HOME目录的plugins目录

同时封装镜像时,因为该插件还集成了安全认证,但使用的flask-login模块与当前的airflow自动下载的模块版本不匹配,先卸载原来的flask-login

pip uninstall flask-loginpip install flask-login:0.2.11

部署使用

在部署k8s或者docker应用时,修改配置文件airflow.cfg,在最后添加如下配置

[dag_creation_manager]# DEFAULT: basisdag_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 displaydag_creation_manager_category = custom# Task category for displaydag_creation_manager_task_category = custom_task:#ffba40# Your email address to receive email# DEFAULT: dag_creation_manager_default_email = xxx@dag_creation_manager_need_approver = Falsedag_creation_manager_can_approve_self = True# 地址dag_creation_manager_dag_templates_dir = /usr/local/airflow/plugins/dcmp/dag_templates

该插件启用之后,许多功能会被屏蔽掉,此处不开启,如果需要开启在Airflow.cfg中的[webserver]配置:

authenticate = Trueauth_backend = dcmp.auth.backends.password_auth

第一次执行时需要先升级一下现有的airflow数据库

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

这样就可以打开web界面来使用ui界面编写管理dag了

打开UI界面,选择“Admin”下的“Pools”

使用介绍

下拉到底部,填写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中修改。

识别出来之后打开主界面,点击“暂停按钮”取消暂停开始执行:

参考:/developer/article/1424491

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。