资源链接在文章末尾,包含文件:
1. 说明
Kettle 的 KJB 或 KTR 调用使用的 shell 脚本,小伙伴可能会想,可以用 Linux 的 crontab 进行任务的调度啊,为什么需要 Azkaban 这个批量工作流任务调度器呢?原因是,如果出现调度任务的依赖关系,比如数据抽取的任务执行结束后调用统计任务,仅仅使用 crontab 是很难实现的,因为无法得知当前任务什么时候结束,也就无法准确定时执行下一个任务
,而使用 Azkaban 就简单轻松加愉快了 😄
为了体现任务调度的依赖关系,我们设置一个场景:1️⃣ 读取 excel 文件内容写入数据库
2️⃣ 对数据库数据进行统计放入统计表
实际上 Kettle 可以用一个 KJB 实现上述流程,但如果第一步不仅仅是导入单个 excel 文件还要导入 Hadoop 上的数据还要抽取其他数据库的数据呢?全部写在一个脚本内,KTR里有的流程执行的快,有的执行的慢,这样就会出现任务的阻塞,而使用 Azkaban 就可以在第