kettle开发篇-批量迁移不同数据库数据

举报
他们叫我技术总监 发表于 2024/11/02 19:21:09 2024/11/02
【摘要】 前言:随着企业的发展,和数据库的多种多样,在搭建项目之初,并没有详细考虑到数据库的建设,当增加配置不能满足业务场景需要时,这时候考虑到使用更高性能的数据库,如将sqlserver更换为oracle数据库。或者在搭建新项目时,需要复制原数据库的表结构和数据至其他数据库。怎么快速响应业务要求呢?第一种方案:在目标库使用SQL语句批量建表,然后去修改字段的类型,主键等等。然后通过应用程序将数据插入...

前言:


随着企业的发展,和数据库的多种多样,在搭建项目之初,并没有详细考虑到数据库的建设,当增加配置不能满足业务场景需要时,这时候考虑到使用更高性能的数据库,如将sqlserver更换为oracle数据库。或者在搭建新项目时,需要复制原数据库的表结构和数据至其他数据库。怎么快速响应业务要求呢?

第一种方案:在目标库使用SQL语句批量建表,然后去修改字段的类型,主键等等。然后通过应用程序将数据插入至目标库。

第二种方案:自动建表和1:1镜像复制数据,复制数据时支持修改表结构。

在我们没接触到kettle时,一般都会想到第一种方案,这种搬运数据,无疑就像搬砖,非常辛苦,但是效率低下,且出错率高。

1d1e482aa75ab480b9410bbf81b03e4d_B16113203.jpg

有没有高效的搬砖技巧呢?或者有没有更高级的办法,将数据复制粘贴,从一个库迁移至另外一个库呢?

答案当然是肯定的,让我们一起来看看吧。

一、可视化数据迁移程序开发


如下图所示,这是最后完成作业的效果图,对应的作业由两部分组成,一个自动建表的脚步,和一个复制数据的转换,然后通过箭头将类似的转换串联起来,就做成了批次迁移数据的作业。这些作业程序乍看起来有点复杂,像一字长蛇阵,其实这些都不需要我们学习,因为这些都是自动生成的。

image.png

二、kettle开发工具-复制多表向导

如图所示,我们点击工具-向导-复制多表向导,即可进入我们批量数据迁移的可视化开发界面。 (如果没有kettle开发工具,可以点击链接下载,下载低版本的。如5.2的,因为低版本运行更顺畅)

kettle下载地址: https://sourceforge.net/projects/pentaho/files/Data%20Integration/

image.png

 如图所示,我们选择生产的源库,迁移至我们数仓的BI库,然后我们点击下一步,选择需要迁移的表,然后点击下一步即可完成迁移数据作业的开发。image.png

image.png

image.png

三、看看作业程序里面都有啥


1、建表脚本


程序会根据目标库将对应建表语句自动创建,如图所示为oracle建表语句。

image.png

2、复制数据转换


如图所示自动生成转换注释,并生成脚本转换程序,可以看到表输入是查询对应表所有数据,输出至目标库和我们自己写转换程序时一样,只是这是自动生成的,当然我们也可以在里面按自己要求加上过滤条件,来复制我们需要的部分数据,比如我们只需要近一年的数据等等,然后点击运行作业,即可完成数据迁移工作,是不是超级简单呀。 还不赶快去试试吧,有不懂可以留言讨论哦~

image.png

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。