Kettle 合并记录和Merge Join组件实现数据增量迁移(数据同步比插入更新快

本文介绍了如何使用Kettle的Merge Join组件进行数据增量迁移。通过设置旧数据和新数据来源,根据关键字段进行比较,标记记录状态(相同、变化、新增、删除),并确保数据在合并前已按关键字段排序。该方法适用于数据同步,且避免了使用复制数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=large][color=red]该步骤用于将两个不同来源的数据合并,这两个来源的数据分别为旧数据和新数据,该步骤将旧数据和新数据按照指定的关键字匹配、比较、合并。[/color][/size]

需要设置的参数:

旧数据来源:旧数据来源的步骤

新数据来源。新数据来源的步骤

标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。

[color=blue]1. “identical” – 旧数据和新数据一样

2. “changed” – 数据发生了变化;

3. “new” – 新数据中有而旧数据中没有的记录

4. “deleted” –旧数据中有而新数据中没有的记录[/color]

关键字段:用于定位两个数据源中的同一条记录。

比较字段:对于两个数据源中的同一条记录中,指定需要比较的字段。

合并后的数据将包括旧数据来源和新数据来源里的所有数据,对于变化的数据,使用新数据代替旧数据,同时在结果里用一个标示字段,来指定新旧数据的比较结果。

注意:(必须排序 字段名一定要相同 [color=blue]合并记录不能使用复制数[/color])

[size=medium][color=red][b]特此备注下:合并记录 之前先 进行 排序(如下图红框标记的部分)[/b][/color][/size]

[img]http://dl2.iteye.com/upload/attachment/0114/7068/f1748959-dc07-3f42-9386-da995dd26415.png[/img]

[size=medium][color=red]1.旧数据和新数据需要事先按照关键字段排序。[/color][/size]

[size=medium][color=red]2.旧数据和新数据要有相同的字段名称。[/color][/size]

使用多主键进行增量抽取案例:

[img]http://dl2.iteye.com/upload/attachment/0114/7371/d60fb87d-af0a-30b0-9fcd-317dc3a9c758.png[/img]


[size=medium][color=blue]使用Merge Join 进行增量更新[/color][/size]

[img]http://dl2.iteye.com/upload/attachment/0114/7393/1b2b66dc-5fb7-3450-96ab-818c3a7aed3b.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值