1、上一课我们学习了在数据量大的情况下的分页全量同步示例,本次我们一起学习下kettle 增量全量同步。有些业务场景不需要实时数据,比如每N分钟抽取一次数据等。
2、kettle增量全量同步示例依然基于test数据库,从t1表增量同步数据到t2表,假定每N(这里的N可以根据业务场景自定义job触发频率)分钟跑批将t1表中增量的数据同步到t2表中,如下图所示。
前提:
a、基于mysql 数据库
b、查询增量数据基于select * from t1 where id>maxId
主要步骤:
a、查询目标DB表t2表中maxId。
b、同步t1表中大于maxId的数据至t2表。
c、查询t2表中最大的maxId、同步T1表中id大于maxId数据至T2表是两个转换步骤,每个转换步骤引用自己的具体实现转换文件。
3、查询t2表中最大的maxId,直接通过表输入步骤通过sql获取maxId数据,如下图所示。
4、 同步T1表中id大于maxId数据至T2表的具体实现转换逻辑如下图所示,这里为了方便演示t1和t2表的表结构是一样的,当然可以是不一样的。后续会讲解下表1对N,N对1,N对N的同步案例。
5、这里仅仅通过id的方式做示例查询增量数据,当然还有很多其他的方式,可以根据自己的业务场景进行选择。
如有小伙伴对图片中用到的步骤不太熟悉的话,可以参考我以前的文章。
标签:同步,maxId,入门,kettle,t2,表中,增量,第四十 From: https://www.cnblogs.com/zjBoy/p/18004085