时间戳增量同步是数据仓库做数据增量同步4种方式中的一种,虽然对业务系统有一定入侵性,但仍然是比较常用的一种。在这里简单介绍一下如何进行kettle流程设置来实现。
如果对你有参考,有帮助的话,请帮我点个赞
![b6122cfecc9fea98c901736d57de1ed5.png](https://i-blog.csdnimg.cn/blog_migrate/59b93c35b7b6a6679486186902fa2c49.png)
实现原理
时间戳增量同步就是在表中增加一个时间戳字段,每次更新值查询 update _ time >上次更新时间的记录。优点速度快,实现简单,缺点是对数据库有侵入性,对于业务系统也需要更新时间戳,增加了复杂性。
主流程
![835022c55b06f2c0c138f5958e4454c7.png](https://i-blog.csdnimg.cn/blog_migrate/6a8a8a1c7b1d8ee2b3aa37f7544b3e9e.png)
【1】获取需要更新的时间范围节点
![9396b3eec8132cd3887a3d57f444e24d.png](https://i-blog.csdnimg.cn/blog_migrate/c213cab41131858847adf9e282bae24c.png)
【2】读取需要更新的数据
![09d78247b75e4b2284d1e0c42214c22b.png](https://i-blog.csdnimg.cn/blog_migrate/07ea554bcbe92fda4506b58b0f31820a.jpeg)
【3】将筛选出的数据,插入更新目标表
![82062e7f67daf0ae6da6e4ef0fecaa95.png](https://i-blog.csdnimg.cn/blog_migrate/13675541fe7c46930bbcd8fe8e3d16fa.jpeg)
【4】执行sql脚本将目标表最大时间插入中间表(把更新的时间记录下来,下次抽取直接从临时表抽)
![12079982746a9627b6221c51040ad737.png](https://i-blog.csdnimg.cn/blog_migrate/7a75616a486483a12c7ec01f410bcdaa.jpeg)
在完成首次增量更新后,就可以将第一个步骤中的sql换成从中间表读取时间。
![515643cb54fd88ee83841c0f6b688ced.png](https://i-blog.csdnimg.cn/blog_migrate/7e7a1f839322aff2d2424b0935c4c7b2.png)
以上就是通过简单例子展现的一个时间戳增量同步demo,希望对你有帮助!
![b10e8eb75fe2f19eb715538bd23a8a36.png](https://i-blog.csdnimg.cn/blog_migrate/5f52cc15b2422ac92b518630d783d21a.png)