Kettle单表增量同步超详细完整教程

本教程详细讲解如何使用Kettle实现单表增量同步。通过创建日志表记录同步时间,设置变量,同步更新数据,记录同步时间等步骤,实现MySQL中表数据的实时同步。并提供相关工具下载链接。

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

1、教程初衷,最近想要使用kettle实现单表增量同步,在各种搜索中,实现成功后,很是感激,也想通过教程复述的方式记录方法的实现过程、理清思路,好了好了,废话多多少少有点多了。
2、介绍具体环境
想要将input_test表中数据实时同步到output_test表中,小编的这两个表在mysql的同一个数据库中,当然在mysql的不同数据库也可以实现。
3、实现思路
(1)获取上一次同步时间。
(2)同步本次更新数据。
(3)记录本次同步时间。
4、使用工具kettle和navicat premium15,需要安装好Java。小编都放到这里啦。

navicat premium15链接:https://pan.baidu.com/s/1mPRnVLaZTph4UM4r8oVHtg
提取码:guan

Java安装程序链接:https://pan.baidu.com/s/157WdYbHnn0jPQbDY88jf0w
提取码:guan

kettle及mysql连接的jar包(把jar包放在lib文件夹下,重启kettle就可以生效)
链接:https://pan.baidu.com/s/1EydEaM1apeqrc53Y6KrByA
提取码:guan
4、实际操作步骤
步骤一:
提到上一次同步时间,我们需要创建一个日志表(rz)来记录每次的同步信息,表字段包括同步id,同步人,同步结果,同步时间,也需要input_test和output_test中都存在一列更新时间(将更新时间与同步时间作比较来判断是否为增量数据)
小编使用navicat premium15,来实现创建日志表和插入更新时间列操作。
日志表,表名:rz , 结构如下:在这里插入图片描述
并且添加了一行数据
在这里插入图片描述
input_test和out_test表结构一致,添加了gxsj列。
在这里插入图片描述
input_test表里插入几条数据,最后两条的更新时间是在同步时间之后的。output_test表内现在暂无数据。
在这里插入图片描述
把添加的gxsj列设为系统时间。

update input_test set gxsj=SYSDATE()
update output_test set gxsj=SYSDATE()

步骤二:使用kettle新建转换,命名为:1-获取上一次同步时间
添加步骤 表输入
编辑表输入->输入sql语句,

SELECT IFNULL(max(tbsj),SYSDATE()-INTERVAL 1 DAY) from rz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值