介绍
基于kettle开发的ETL数据迁移功能,具有分页功能,理论可稳定迁移大表。 kettle做数据库数据迁移的时候,如果数据库中的表过大(几十G,甚至更大),为避免kettle 出现OOM,笔者画了一个分页、增量的数据迁移流程。不过存在限制:增量更新需要数据库有最近更新时间字段
个人网上也搜了好久,始终没有找到完美的流程。最后笔者结合网上不完整的,自行画出了这个流程。
个人开发环境
kettle7.0
mysql8.0
软件架构
该流程表面可能对一些人来说有点复杂:一共8个文件,其中2个Job,6个转换。2个job中1个主job,1个子job。
1、数据迁移.kjb 主job
2、抽取表子任务.kjb 子job
3、job结束时间.ktr 记录主job结束时间
4、创建目标库表结构.ktr 创建表