概述
随着数据仓库的开发,ETL作业会越来越多,怎么把这些作业有序的运行起来,就需要一个健壮的调度系统来保证数据能够准确、及时的提供给BI应用程序。
调度系统架构
![](https://i-blog.csdnimg.cn/blog_migrate/f01958d05c06adc787424c6f7b3be3a9.png)
ETL作业
数据仓库的ETL作业可能不至一种,需要把各种作业再次进行封装,建立作业的标准格式,统一作业的输入参数、输出参数和参数格式,达到所有的作业调度方式一致。
作业管理
提供便捷的作业配置和依赖关系配置页面。
作业调度
根据作业调度算法进行自动执行,如果发生异常情况可以进行人工重启和停止。
作业监控
对作业运行情况进行监控,发送邮件或者提供监控页面
常用的调度组件
组件名 | 属性标签 | 特性 | 使用场景 |
---|---|---|---|
azkaban | 调度工具 | 处理有依赖关系的复杂任务调度,只支持mysql存储基本信息 | 常用调度工具之一 |
crontab | linux自带调度工具 | 简单任务调度 | 适用日常少量调度 |
ooize | 调度工具 | 处理复杂任务调度,但好像并不好用 | 大数据领域调度工具之一(Oozie, Azkaban,Cascading,Hamake) |
作业调度状态
初始化:把新添加的作业加入到执行计划中。
待运行:根据时间和依赖关系把可执行的任务更新为待运行。
运行中:把待运行的任务执行,更新为运行中。
结束:作业运行完成,分为成功和失败。
扫描下方二维码
加入优质社群一起交流吧!
如若二维码过期
请添加小编微信,回复关键词:[进群/加群],
-今日互动-
你用过哪些任务调度工具呢?
例如:Airflow
欢迎文章下方留言互动
如果对你有帮助的话
❤️来个「转发朋友圈」和「在看」,是最大的支持❤️