文章目录
02:任务流调度回顾
-
目标:回顾任务流调度的需求及常用工具
-
路径
- step1:需求
- step2:常用工具
-
实施
-
需求
- 相同的业务线,有不同的需求会有多个程序来实现,这多个程序共同完成的需求,组合在一起就是工作流或者叫做任务流
- 基于工作流来实现任务流的自动化运行
-
需求1:基于时间的任务运行
- job1和job2是每天0点以后自动运行
-
需求2:基于运行依赖关系的任务运行
- job3必须等待job1运行成功才能运行
- job5必须等待job3和job4都运行成功才能运行
-
调度类型
- 定时调度:基于某种时间的规律进行调度运行
- 调度工作流
- 依赖调度:基于某种依赖关系进行调度运行
- 工作流中的程序的依赖关系
- 定时调度:基于某种时间的规律进行调度运行
-
常用工具
-
Oozie:Cloudera公司研发,功能强大,依赖于MR实现分布式,集成Hue开发使用非常方便
- 传统开发:xml文件
<workflow> <start to="action1"> </start> <action name='action1'> <shell> </shell> <ok to='action2'> <kill to='killAction'> </action> <action name='action2'> <shell> </shell> <ok to='action3'> <kill to='killAction'> </action> …… </workflow>
+ 现在开发:Hue通过图形化界面自主编辑DAG + 场景:CDH大数据平台
-
Azkaban:LinkedIn公司研发,界面友好、插件支持丰富、自主分布式,可以使用properties或者JSON开发
- 开发properties文件,压缩成zip压缩包
name='appname2' type=command dependencies=appname1 comman='sh xxxx.sh'
- 上传到web界面中
- 场景:Apache平台
-
AirFlow:Airbnb公司研发,自主分布式、Python语言开发和交互,应用场景更加丰富
- 开发Python文件
# step1:导包 # step2:函数调用
- 提交运行
- 场景:整个数据平台全部基于Python开发
-
DolphinScheduler:易观公司研发,国产开源产品,高可靠高扩展、简单易用
-
-
-
小结
- 回顾任务流调度的需求及常用工具
03:AirFlow的介绍
-
目标:了解AirFlow的功能特点及应用场景
-
路径
- step1:背景
- step2:设计
- step3:功能
- step4:特点
- step5:应用
-
实施
+ **起源**
- 2014年,Airbnb创造了一套工作流调度系统:Airflow,用来替他们完成业务中复杂的ETL处理。从清洗,到拼接,只用设置好一套Airflow的流程图。
- 2016年开源到了Apache基金会。
- 2019年成为了Apache基金会的顶级项目:http://airflow.apache.org/。
+ **设计**:利用Python的可移植性和通用性,快速的构建的任务流调度平台
+ **功能**:基于Python实现依赖调度、定时调度
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新