Job流程(可执行线程,代表ETL控制流中的一项逻辑任务。Job节点将会顺序执行,每个job节点会产生一个结果,能作为别的分支上job节点的条件。)
jobentry节点(自定义插件、代表着功能)
hop连线(代表流程逻辑)
Result结果对象
流程Job继承线程Thread类,就是一个可执行线程,并可以沿连接线逻辑顺序执行节点的自定义功能。每个节点执行完成之后都返回一个执行结果result,根据result和连线找到下一个节点执行,这个过程一直迭代下去直到后面没有节点可执行。
节点执行-->执行结果-->执行下一个节点
如果遇到一个节点分出多条连线,即多个分支并行执行的情况,就为每个分支连线新建一个线程分别继续迭代下去。
运行时可通过jstat -l pid 查看到对应线程
任何一个开发都能做到用线程执行一项任务,kettle更通用,支撑自定义可拓展的节点插件开发,可根据结果运行不同的分支。自带的插件满足基本需要,减少重复开发,降低对使用者的要求。kettle的价值并不在一个通用工作流执行框架,而应该在于提供了丰富的流程插件和任务转换插件,可以在不编码的情况下打通各类型的数据转换,实现ETL。以及方便的日志查看,运行状态监控等方便维护的功能。