资源链接在文章末尾,包含文件:

1. 说明
Kettle 的 KJB 或 KTR 调用使用的 shell 脚本,小伙伴可能会想,可以用 Linux 的 crontab 进行任务的调度啊,为什么需要 Azkaban 这个批量工作流任务调度器呢?原因是,如果出现调度任务的依赖关系,比如数据抽取的任务执行结束后调用统计任务,仅仅使用 crontab 是很难实现的,因为无法得知当前任务什么时候结束,也就无法准确定时执行下一个任务,而使用 Azkaban 就简单轻松加愉快了 😄
为了体现任务调度的依赖关系,我们设置一个场景:1️⃣ 读取 excel 文件内容写入数据库 2️⃣ 对数据库数据进行统计放入统计表 实际上 Kettle 可以用一个 KJB 实现上述流程,但如果第一步不仅仅是导入单个 excel 文件还要导入 Hadoop 上的数据还要抽取其他数据库的数据呢?全部写在一个脚本内,KTR里有的流程执行的快,有的执行的慢,这样就会出现任务的阻塞,而使用 Azkaban 就可以在第一步流程完成后立即调用第二步流程。
2. 工具准备
- 部署 Azkaban 可查看之前的文章
本文通过一个完整的实例,展示了如何在Linux环境下使用Azkaban调度Kettle的KJB和KTR脚本进行数据处理。首先,解释了为何需要Azkaban来解决任务依赖问题。然后,详细介绍了KTR脚本的编写、shell脚本的创建、流程调度脚本的编写和测试。最后,总结了Azkaban在Kettle流程调度中的作用。
订阅专栏 解锁全文

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



