kettle 数据同时插入删除问题

来源:互联网 发布:任务管理 知乎 编辑:程序博客网 时间:2024/05/19 16:49

在用kettle进行数据同步时,发现一个问题:目的数据库的数据少于源数据库的数据,丢失的数据去哪里了呢?

先上图:


步骤1:从源数据库抽取数据

步骤2:删除目的数据库的数据


步骤3:插入到目的数据库


但是问题来了,这么简单的一个过程,到底是哪里出了问题呢?

首先,我们需要了解kettle的运行过程,如上图,步骤1,2,3虽然是按照顺序执行的,但是是并行的!也就是说步骤1,2,3都是一条条数据执行的。

可以想象,步骤1不断地在抽取数据,步骤2不断地删除数据,步骤3不断地插入数据,目的数据库最后数据的多少就看各自的运行速度了。


那么怎么解决呢?

首先,把数据删除的执行脚本放在最前面,与并行的步骤分离


然后,把红圈中的勾去掉,数据删除不再一条条执行



最后执行一下,数据缺失问题也解决啦!

原创粉丝点击