Airflow Dag可视化管理编辑工具Airflow Console

时间:2024-01-27 10:34:26

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更新即可.

本地启动

通过docker-airflow

启动airflow, 暴露pg端口和webserver端口,
docker-compose.yml

cd doc
docker-compose up

启动后访问localhost:8090即airflow初始化完成.

  1. 修改本项目db

修改application-dev.yml中DataSource的url host为localhost.

  1. 导入db

schema.sql导入pg.

  1. 启动本项目

访问localhost:8081/api 即swagger地址.

  1. 启动web