kettle从入门到精通 第三十九课 kettle 增量同步(日级)
1、上一课我们学习了在数据量大的情况下的分页全量同步示例,本次我们一起学习下kettle 增量全量同步。有些业务场景不需要实时数据,比如统计t-1日的销售业绩情况等。
2、kettle增量全量同步示例依然基于test数据库,从t1表增量同步数据到t2表,假定每天0点跑批将t1表中的t-1日的数据同步到t2表中,如下图所示。
前提:
a、基于mysql 数据库
b、t-1日查询数据基于select * from t1 where createtime>=CURDATE()-INTERVAL 1 DAY AND createtime<CURDATE()
主要步骤:
a、删除目标DB表t2表中t-1日数据
b、同步t1表中t-1日数据至t2表。
c、删除t2表中T-1日的数据、同步T1表中T-1日数据至T2表是两个转换步骤,每个转换步骤引用自己的具体实现转换文件。
3、删除t2表中t-1日的数据步骤实现逻辑很简单,直接通过执行sql语句步骤通过sql删除t2表中t-1日数据,如下图所示。
4、 同步T1表中T-1日数据至T2表的具体实现转换逻辑如下图所示,这里为了方便演示t1和t2表的表结构是一样的,当然可以是不一样的。后续会讲解下表1对N,N对1,N对N的同步案例。
5、这里的t-1日的数据是通过createtime 字段开始和结束时间区间实现的,当然还有很多其他的方法,比如表x中有一个yyyy-MM-dd的日期字段等。
如有小伙伴对图片中用到的步骤不太熟悉的话,可以参考我以前的文章。