专栏首页Ryan MiaoAirflow Dag可视化管理编辑工具Airflow Console

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 调度系统Airflow的第一个DAG

    考虑了很久,要不要记录airflow相关的东西, 应该怎么记录. 官方文档已经有比较详细的介绍了,还有各种博客,我需要有一份自己的笔记吗?

    Ryan-Miao
  • influxdb安装和学习

    https://docs.docker.com/samples/library/influxdb/

    Ryan-Miao
  • java线程(1)--概念基础

    参考:http://lavasoft.blog.51cto.com/62575/99150 http://blog.csdn.net/baby_newstar/...

    Ryan-Miao
  • Illumina将以大约12亿美元的价格收购Pacific Biosciences,扩大对长读序列的访问并加速科学发现

    Illumina将以大约12亿美元的价格收购Pacific Biosciences,扩大对长读长序列测序并加速科学发现

    生信宝典
  • 【原创】Java并发编程系列36 | FutureTask

    线程池源码中出现了很多Callable、Future、FutureTask等以前没介绍过的接口,尤其是线程池提交任务时总是把任务封装成FutureTask,今天...

    java进阶架构师
  • 自学编程的六个技巧总结

    有一天,我的一个在学编程的朋友问我:“我想快速学习编程,你有什么好的推荐吗?我曾在上大学的时候自学过编程,这么多年过去了,我意识到我或许是在用最困难的方式去学习...

    程序员宝库
  • 自学编程的 6 个技巧总结

    有一天,我的一个在学编程的朋友问我:“我想快速学习编程,你有什么好的推荐吗?我曾在上大学的时候自学过编程,这么多年过去了,我意识到我或许是在用最困难的方式去学习...

    哲洛不闹
  • 腾讯项目经理:如何快速上手新项目?

    ? 本文来源:腾讯KM- IEG增值服务部 - 技术藏经阁 | 导语 “任务”作为大部分运营活动的核心组成要素,使得任务中心类的项目应用广受欢迎。此类系统在...

    腾讯大讲堂
  • 自学编程的6个技巧总结

    有一天,我的一个在学编程的朋友问我:“我想快速学习编程,你有什么好的推荐吗?我曾在上大学的时候自学过编程,这么多年过去了,我意识到我或许是在用最困难的方式去学习...

    老九君
  • Java 并发工具包-常用线程池

    java.util.concurrent.ExecutorService 接口表示一个异步执行机制,使我们能够在后台执行任务。因此一个 ExecutorServ...

    高广超

扫码关注云+社区

领取腾讯云代金券