Kettle批量同步多张表数据
背景
公司想要将业务系统使用的数据库由 SQL SERVER 切换到 ORACLE,因此需要将原 SQL SERVER 库的数据同步到 ORACLE 库中。
因为涉及的数据表有几百张,数据约百G的级别,一张表开发一个Kettle 太过于繁琐了,因此考虑通过配置完成数据同步。
方案:
SQLSERVER 库切换至ORACLE库,由于 Oracle库的关键字与SQLSERVER不同, 两库的表名和字段名略有不同,但可以建立一一对应的映射关系。将映射关系数据维护进数据库的表中。通过SQL语句生成查询语句,将查询语句以及数据同步的源表、目标表维护进另一张配置表中,Kettle读取配置后,遍历配置信息,使用配置信息替换同步转换内的参数, 完成数据同步。
整体方案实现图:
数据同步配置表构成如下:
注意 FLAG 字段是用来标识是否执行成功,取值根据需要配置即可。