[kettle]kettle“阻塞数据直到步骤都完成”无效

  • Post author:
  • Post category:其他


之前讲了这个控件怎么获取步骤,但光知道这个是没办法正确使用这个控件的。

现在表A有一批数据,我想先在表B里删除原有的对应历史数据,再重新注入新的表A的数据。



即先删除后插入


我们知道,kettle的JOB是顺序执行的,转换是并列执行的,所以要想在转换里实现运行的优先级,就需要

“阻塞数据直到步骤都完成”

这个控件。

图1:

阻塞控件内容:

图2:

阻塞控件内容:

图1的阻塞是无效的,图2的阻塞是有效的。

原因(仅个人理解和猜测,不对请指正):



在转换里,SQL的运行是优于所有步骤的。

图1中虽然有阻塞控件,但只阻塞了“删除”,“表输入2”并没有被阻塞,而


转换中的步骤是并行的,不要被这条流程线所迷惑!


表输入1和表输入2是同时运行的,同样的,“删除”和“插入/更新”也并列属于同一个优先级,自然实现不了先删除再插入/更新了。



版权声明:本文为weixin_42158147原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。