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