Airflow调度 Design
Airflow调度 Design
一、创建DAGS
从Oracle里的原始数据导入hive里的ods层,再从ods层进行数据清洗到dwd层
在airflow路径下创建dags文件夹,创建如下四个python脚本:
分别为
- 在hive创建ods层和dwd层的全量表
- 在hive创建ods层和dwd层的增量表
- 全量表从原始数据到ods再到dwd层
- 增量表从原始数据到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相关推荐
- AirFlow调度执行Talend ETL任务
AirFlow调度平台简介 airflow 是一个编排.调度和监控工作流的平台,由Airbnb开源,现在在Apache Software Foundation 孵化.airflow将工作流编排为tas ...
- 使用AirFlow调度MaxCompute
简介: airflow是Airbnb开源的一个用python编写的调度工具,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行,通过python代码定义子任务,并支持各 ...
- Airflow调度工具简介和使用
Airflow是airbnb家的基于DAG(有向无环图)的任务管理系统, 最简单的理解就是一个高级版的crontab.它解决了crontab无法解决的任务依赖问题. 本文将介绍 Airflow 这一款 ...
- airflow调度方案
主要服务 dag:包括 task.operator.sensor 模块 配置 dag.task.operator schedule:包括 control 模块 启动 暂停 恢复等 控制dag任务启动 ...
- 大数据调度平台Airflow(五):Airflow使用
目录 Airflow使用 一.Airflow调度Shell命令 1.首先我们需要创建一个python文件,导入需要的类库 2.实例化DAG 3.定义Task 4.设置task依赖关系 5.上传pyth ...
- 【构建PB级准实时分析引擎】 -- azkaban、airflow、dolphinscheduler、quartz、xxl-job 、oozie调度方案评测
评测说明 本评测方案主要从自身实用的角度出发,对比主流的开源任务调度方案,评选出最适合自己的方案,以作为自己的调度工具. 评测目标 短期目标 可调度多台机器的shell/python脚本: 可管理 ...
- airflow部署和使用示例
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 参考:https://www.jianshu.com/p/089c56b4ec14 airflow介绍 https://lxwei.github.io ...
- Airflow基础架构简介
Aireflow 处理依赖的方式 Airflow的核心概念,是DAG(有向无环图),DAG由一个或多个TASK组成,而这个DAG正是解决了任务间的依赖问题.Task A 执行完成后才能执行 Task ...
- airflow连接mysql错误_airflow使用MySQL数据库(第三方数据库详解)
airflow 是一个python写的调度平台,大致的认识是 : 定义一些任务(脚本.命令.连接...),airflow调度平台可以自动去运行,后面会给出运行日志(UI界面)等,这个UI界面(WEB端 ...
最新文章
- Mercurial 2.4.2 发布,2.5 候选版发布
- c#_将文件导入到工程目录下
- Koadic的安装和使用---http c2远控工具
- DOCTYPE声明作用及用法详解
- 【JavaSE_07】Java中类和对象-封装特性-思维导图
- 相机下载_佳能相机如何连接手机传输相片,视频?
- 可扩展多线程异步Socket服务器框架EMTASS 2.0
- 网络篇-NSURLSession介绍
- NYOJ760-See LCS again,有技巧的暴力!
- 手机网速正常电脑很慢_路由器WiFi速度正常,但电脑和手机上网速度慢怎么办?...
- 电子科大杨宁TCPIP协议原理(总结)
- 星际迷航中企业号的动力系统_五月四日与您同在:《星球大战》(和《星际迷航》)如何激发现实生活中的技术...
- 一个屌丝程序猿的人生(四十三)
- 桌面便签软件哪个比较好 好用的手机桌面便签软件推荐
- 哈勃望远镜研究员测试区块链的空间数据处理
- 我的世界租服务器怎么加组件,我的世界租赁服怎么加自己的mod
- 浅谈屏蔽搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路
- JAY和ZOOM,还有铁面人究竟是谁?
- 史上最全Maven教程(三)
- 人活着的意义是什么?