kettle-做增量更新时遇到大数据量表更新速度缓慢的解决方案!
kettle-做增量更新时遇到大数据量表更新速度缓慢的解决方案!
最近在工作中遇到了数据增量同步的需求,目标是将B库中的表能与A库中相同的表做同步新增/更新/删除操作(A库的增删改操作不由我们控制)。
工具用的是kettle。实现方法是每天定时获取A表里前一天的数据(通过时间字段判断),如果B表里存在该条记录(通过主键字段判断)则更新,否则新增。至于如果A表删除数据我们怎么实现同步,方法是每周一次定期删表然后做全量的新增。
在用kettle中发现,当表的数据量很大的时候,比如我这里需要做亿级数据量的表的增量同步。用插入/更新组件遇到更新数据的时候就会很慢,我这里用了一个投机取巧的方法。
在这里插入图片描述
- 先将需要做增量的数据从A表里查出来
- 将B表里已存在的这些增量数据先删除(也就是删除需要更新的数据)
- 这一步是为了防止出现表锁,等删除操作执行完了再走下一步(kettle中一个转换内的步骤是异步执行的,也就是说在做删除操作的同时也会做插入更新操作,会导致锁表)
- 将增量数据全部插入到B表中(由于之前做了删除操作,已经不存在需要更新的数据)
这样就不存在更新操作了,速度有了大幅度提升。
以上是个人想到的方法,肯定还有其他更好的方法解决该问题,欢迎各路大佬指正。
如果大家有其他的方法,或者想要知道哪方面的办公技巧,下方评论哦~
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论