1. 流程控制组件
流程控制(也称工作流、任务流)是 ETL 重要的组成部分,通常是以 DAG 的方式配置,每次调用都会沿着有向无环图从前往后依次执行直至最后一个任务完成。
流程控制可以在 ETL 工具内配置,也可以在调度系统配置。传统 ETL 工具基本上都是单机版的,如果 ETL 的任务节点分布在多个服务器上,整体的流程依赖就会变的复杂起来(跨服务器的调度无法解决,就只剩下两种方法了:预估前置依赖完成时间、监控前置依赖运行状态比如将运行状态写入数据库等),这时候使用调度工具里的流程控制功能就是最优解。
2. Hudson
Hudson 是一个可扩展的持续集成引擎,是 SUN 公司时期就有的 CI 工具,后来因为 ORACLE 收购 SUN 之后的商标之争,创始人 KK 搞了新的分支叫 Jenkins 。今天的Hudson还在由ORACLE 持续维护,但风头已经远不如社区以及CloudBees 驱动的 Jenkins。
主要用于:
- 持续、自动地构建/测试软件项目,如 CruiseControl 与 DamageControl。
- 监控一些定时执行的任务。

2.1 Hudson 拥有的特性包括:
- 易于安装:只要把 hudson.war 部署到 servlet 容器,不需要数据库支持。
- 易于配置:所有配置都是通过其提供的 web 界面实现。
- 集成 RSS/E-mail/IM:通过 RSS 发布构建结果或当构建失败时通过 e-mail 实时通知。
- 生成 JUnit/TestNG 测试报告。
- 分布式构建支持,Hudson 能够让

本文介绍了数据仓库流程控制的重要性和常见组件,包括Hudson、Airflow、Azkaban、Oozie以及DolphinScheduler。这些工具主要用于ETL过程的调度和监控,其中Airflow和DolphinScheduler因其强大的DAG任务管理和可视化特性,在大数据环境下得到广泛应用。
最低0.47元/天 解锁文章
5177

被折叠的 条评论
为什么被折叠?



