先来说说需求吧,这次设计的迁移脚本是oracle2mysql的一套脚本。由于公司使用的分布式数据库中间件,在确保能使用kettle的批量导入功能下需要对数据进行一个分片的导入(这次脚本采用的是讲oracle表直接分片,再导入每张分片表到mysql内,也可考虑单表导入的时候才用对分片键取模的方式进行导入)这里提供一个设计的思路,小伙伴们可以根据自己的实际情况进行脚本的修改;
首先脚本文件如下:

除去一些kettle的转换及任务文件,添加了一个配置文件用来记录分片表后缀编号,和前缀(结合自身业务);

内容就是列名和实际要传入的内容,可以根据需求自己进行修改设计;这个设计是基于分片表横向切分而做的,比如说我有100张分片表,则可以使用完全相同的kettle文件,仅需在这个配置文件中,录入不同的分片表前缀及编号。做到横向切分,并行多个kettle脚本进行数据迁移。
然后看一下整个脚本的流程:
首先是主流程:

之后是传输流程:

本文介绍了如何使用Kettle进行Oracle到分片MySQL的数据迁移。通过设计一个配置文件记录分片表信息,利用Kettle的转换和任务特性,实现了横向切分的并行迁移。脚本包含主流程、数据传输和断点续传功能,对可能出现的脏数据进行了处理,并提供了整个脚本的设计思路和关键步骤。
最低0.47元/天 解锁文章
7264

被折叠的 条评论
为什么被折叠?



