kettle最简单的增量同步

最近在刚开始玩kettle,场景:表emp为存储数据的表,表empcopy为需要获取同步数据的表。这两张表都有时间类型,结构相同。表结构如下:

CREATE TABLE `empcopy` (
  `empno` int(11) DEFAULT NULL,
  `ename` varchar(50) DEFAULT NULL,
  `job` varchar(50) DEFAULT NULL,
  `mgr` int(11) DEFAULT NULL,
  `hiredate` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `sal` decimal(7,2) DEFAULT NULL,
  `comm` decimal(7,2) DEFAULT NULL,
  `deptno` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表emp中有数据,  empcopy中没有数据  。

具体kettle的操作看截图:

第一步:empcopy表输入,并获取empcopy表中时间的最大值,注意这个sql


第二步:从empcopy表中,获取到最大时间值以后,那这个时间去和emp表的时间对比,如果emp表中的时间比上一步传来的是时间值大(empcopy表中的时间最大值),则说明是后期新增上去的,也就是我们需要同步的数据 ,kettle操作如下;


第三步:将同步过后的数据输出表,其实这个输出表和empcopy表是相同的,kettle操作如下;


基本的过程就完成了,这个只支持新增,如果emp表有删除、和修改操作,目前我还在研究,如果有想法的可以一起学习一下。