作业是Kettle的另一个组件,作业也包括步骤和连线,主要作用是将转换有顺序的连接起来,还可以定时执行。转换中不容易控制各步骤的顺序,结合作业就可以更精确的控制处理流程。作业是串行执行的(当然也可以选择并行),现行版本的kettle中,转换中可以调用作业,作业中又包含转换,这些组合可以设计出很复杂的处理流程。
作业的串行执行路径和转换是不同的,按作者的解释是用回溯算法执行所有的作业步骤,其实就是如果分叉,就每一个分支都要跑,不是同时是任意一个开始,结束后再另一个,直到所有分支都跑完,谁先谁后没有顺序。用一个作者的原例说明一下,见下图,这个作业的执行路径可能是ABC,也可能是CAB。

作业有个问题就是没有明细日志,这点需要注意。另一个是作业没有返回值,转换是可以有返回结果的,这个后面介绍。
本文深入探讨了Kettle中的作业和转换概念,解析了两者之间的区别与联系。作业能够串联多个转换,实现复杂的数据处理流程,而转换则专注于数据的具体操作。作业支持定时执行,且执行路径遵循回溯算法,确保所有分支都能被处理。然而,作业缺乏明细日志记录,且不提供返回值,这是在使用时需注意的两个限制。
802





