kettle定时每天同步数据如何避免重复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle定时每天同步数据如何避免重复相关的知识,希望对你有一定的参考价值。

我在使用kettle同步数据时设置定时每天同步一次,第二天同步后发现,数据成倍增加,第二天同步的数据与第一天同步的数据没有覆盖而是直接在下面又增加了一遍。求高手教教!

参考技术A 你是说同步过的数据又同步过来了?如果是,说明你采用了全同步的模式。追问

我这边想到就是在原表基础上添加触发器或者通过时间戳的形式进行同步,我就想问问kettle本身有没有什么控件可以解决这样的事情,或者如您所说我之前是全同步模式,还有哪些同步模式?

kettle数据同步方法

1、实时性要求不高,采用全删全插的方式(适合于维度表、大数据量表)

2、有时间维度,直接从事实表同步的数据,可以采用根据时间字段进行筛选,增量同步。这个网上有很多例子,就不重复写了。

 

3、没有时间维度,同时表数据量比较大,且不能采用全删全插方式的,可以采用增量更新的方法。

 

在第三种方法中,尤其需要注意3点。

1、新旧数据源的结构和字段名需要保持一致。在sql中,可以给字段取别名,字段的顺序要保持一致。

2、若从不同数据库中进行比较,如sqlserver和MySQL,则需要对数据的类型进行转换,确保数据类型一致。可以在上图中新旧数据源与合并记录的连线处增加,字段选择控件,对字段的类型进行限定。

3、新旧数据源输入时,需要将数据源按照同样的规则进行排序。这一点在大表同步时非常重要,可能在同步小数据量的表时,没有影响,在大表同步时,若没有加上排序,会导致同步的结果异常。

 

以上是关于kettle定时每天同步数据如何避免重复的主要内容,如果未能解决你的问题,请参考以下文章

kettle-作业定时同步数据表中数据

kettle-作业定时同步数据表中数据

kettle-作业定时同步数据表中数据

kettle数据同步如何更新

kettle数据同步方法

kettle 有新插入数据则发送邮件提醒?