首页 -> 数据分析

kettle学习,理解【阻塞数据】、【阻塞数据直到完成】

流星雨 2019-08-12建立 •  912   
kettle转换中的各个步骤是并列执行的关系,作业中的步骤才是有先后顺序的。这样就可能会遇到一种情况,我想在转换的某个步骤完成后才执行它下面的步骤,这时该怎么办呢?那么这时就可以用到【阻塞数据】和【阻塞数据直到完成】两个组件;
【阻塞数据】:这个组件只允许前一个步骤的最后一条数据通过,就是不到最后一条数据不往后面传数据;
【阻塞数据直到完成】:这个组件允许设置需要阻塞的具体步骤,会将所设置的步骤的所有数据堵住,当这些步骤完成后,才会将被阻塞步骤的所有数据往下一个步骤推;

注:虽然阻塞了,但是阻塞之后的步骤仍然在运行,即运行时间仍然在进行;

看下面的列子,最后的SQL脚本想在前面的步骤执行完后执行,这里可用阻塞实现。【注】:此时别忘了勾选{执行每一行}这个选项,逻辑原理是,只有执行每一行,该步骤才会向上级步骤要数据,因为上级阻塞了不给数据,这样阻塞才能起作用。当【阻塞数据】通过最后一条数据后,也是唯一一条数据,SQL脚本才执行一次,这正是我们想要的目的。

null  kettle 

回复

登录发表 or 还没有账号?去注册