Airflow调度 Design

一、创建DAGS

从Oracle里的原始数据导入hive里的ods层,再从ods层进行数据清洗到dwd层

在airflow路径下创建dags文件夹,创建如下四个python脚本:

分别为

  1. 在hive创建ods层和dwd层的全量表
  2. 在hive创建ods层和dwd层的增量表
  3. 全量表从原始数据到ods再到dwd层
  4. 增量表从原始数据到ods再到dwd层  的四个DAGS

其中建表的DAGS脚本解析如下:

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

增量sqoop导入ods到数据清洗到dwd层脚本解析如下

二、将之前写好测试过的建ods层表和dwd层表脚本和sqoop导入脚本以及清洗脚本(一共8个)放进指定目录(及python脚本种bash_command后面的路径),如下图所示:

三、如下命令启动airflow webserver和调度器:

airflow webserve -D

airflow scheduler

浏览器(端口号设置8080)打开ui界面,此时DAGS创建成功后可以在airflow的UI界面看到如下DAGS

开启DAGS运行按钮,airflow调度任务开始执行,点击DAG任务可在Tree查看任务结构和任务执行进度,以下是创建增量表的DAG,建表是不需要周期执行:

两个任务已经success,建表完成,可以看到表已经创建好了

开启DAGS运行按钮,airflow调度任务开始执行,点击DAG任务可在Tree查看任务结构和任务执行进度,以下是增量导入ods到dwd的任务,已经显示今天调度完成(设置调度周期为一天)每天执行一次

在如下界面也可以查看任务详情:

查看log,观察任务执行效果:

可以查看到任务完成,调度记录两条

然后可以在hdfs上查看到导入的增量表(自动创建分区):以下是可以查看到ods层和dwd层已经成功导入数据:

三、测试调度是按照指定周期自动调度:

将调度周期改成400秒,测试调度是否能周期性启动:

UI界面可以查看到400秒后任务开始第二次启动:

经过运行一段时间后,看到界面已经调度两次success,因此测试400秒周期性调度第二次自动调度成功:如下图:

过了一段时间查看已经调度五次成功:

Airflow调度 Design相关推荐

  1. AirFlow调度执行Talend ETL任务

    AirFlow调度平台简介 airflow 是一个编排.调度和监控工作流的平台,由Airbnb开源,现在在Apache Software Foundation 孵化.airflow将工作流编排为tas ...

  2. 使用AirFlow调度MaxCompute

    简介: airflow是Airbnb开源的一个用python编写的调度工具,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行,通过python代码定义子任务,并支持各 ...

  3. Airflow调度工具简介和使用

    Airflow是airbnb家的基于DAG(有向无环图)的任务管理系统, 最简单的理解就是一个高级版的crontab.它解决了crontab无法解决的任务依赖问题. 本文将介绍 Airflow 这一款 ...

  4. airflow调度方案

    主要服务 dag:包括 task.operator.sensor 模块 配置 dag.task.operator schedule:包括 control 模块 启动 暂停 恢复等 控制dag任务启动 ...

  5. 大数据调度平台Airflow(五):Airflow使用

    目录 Airflow使用 一.Airflow调度Shell命令 1.首先我们需要创建一个python文件,导入需要的类库 2.实例化DAG 3.定义Task 4.设置task依赖关系 5.上传pyth ...

  6. 【构建PB级准实时分析引擎】 -- azkaban、airflow、dolphinscheduler、quartz、xxl-job 、oozie调度方案评测

    评测说明   本评测方案主要从自身实用的角度出发,对比主流的开源任务调度方案,评选出最适合自己的方案,以作为自己的调度工具. 评测目标 短期目标 可调度多台机器的shell/python脚本: 可管理 ...

  7. airflow部署和使用示例

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 参考:https://www.jianshu.com/p/089c56b4ec14 airflow介绍 https://lxwei.github.io ...

  8. Airflow基础架构简介

    Aireflow 处理依赖的方式 Airflow的核心概念,是DAG(有向无环图),DAG由一个或多个TASK组成,而这个DAG正是解决了任务间的依赖问题.Task A 执行完成后才能执行 Task ...

  9. airflow连接mysql错误_airflow使用MySQL数据库(第三方数据库详解)

    airflow 是一个python写的调度平台,大致的认识是 : 定义一些任务(脚本.命令.连接...),airflow调度平台可以自动去运行,后面会给出运行日志(UI界面)等,这个UI界面(WEB端 ...

最新文章

  1. Mercurial 2.4.2 发布,2.5 候选版发布
  2. c#_将文件导入到工程目录下
  3. Koadic的安装和使用---http c2远控工具
  4. DOCTYPE声明作用及用法详解
  5. 【JavaSE_07】Java中类和对象-封装特性-思维导图
  6. 相机下载_佳能相机如何连接手机传输相片,视频?
  7. 可扩展多线程异步Socket服务器框架EMTASS 2.0
  8. 网络篇-NSURLSession介绍
  9. NYOJ760-See LCS again,有技巧的暴力!
  10. 手机网速正常电脑很慢_路由器WiFi速度正常,但电脑和手机上网速度慢怎么办?...
  11. 电子科大杨宁TCPIP协议原理(总结)
  12. 星际迷航中企业号的动力系统_五月四日与您同在:《星球大战》(和《星际迷航》)如何激发现实生活中的技术...
  13. 一个屌丝程序猿的人生(四十三)
  14. 桌面便签软件哪个比较好 好用的手机桌面便签软件推荐
  15. 哈勃望远镜研究员测试区块链的空间数据处理
  16. 我的世界租服务器怎么加组件,我的世界租赁服怎么加自己的mod
  17. 浅谈屏蔽搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路
  18. JAY和ZOOM,还有铁面人究竟是谁?
  19. 史上最全Maven教程(三)
  20. 人活着的意义是什么?

热门文章

  1. WSTMART电商开源版安装教程-徐新帅-专题视频课程
  2. 建设一个SaaS平台需要知道什么,做什么(附多图)
  3. 【非原创】这一生至少当一次傻瓜(r4笔记第88天)
  4. 南通java行业,南通java技术培训中心
  5. 小游戏——打鱼还是晒网
  6. yaml及使用PyYaml操作yaml文件详解
  7. 一夜之间就能肝完的学生信息管理系统
  8. stackoverflow热门问题(二)- 如何确定C的数组的大小
  9. 亚马逊将为语音助手研发AI芯片 欲追赶苹果
  10. password MD5加密方法