kettle开发篇-批量迁移不同数据库数据
【摘要】 前言:随着企业的发展,和数据库的多种多样,在搭建项目之初,并没有详细考虑到数据库的建设,当增加配置不能满足业务场景需要时,这时候考虑到使用更高性能的数据库,如将sqlserver更换为oracle数据库。或者在搭建新项目时,需要复制原数据库的表结构和数据至其他数据库。怎么快速响应业务要求呢?第一种方案:在目标库使用SQL语句批量建表,然后去修改字段的类型,主键等等。然后通过应用程序将数据插入...
前言:
随着企业的发展,和数据库的多种多样,在搭建项目之初,并没有详细考虑到数据库的建设,当增加配置不能满足业务场景需要时,这时候考虑到使用更高性能的数据库,如将sqlserver更换为oracle数据库。或者在搭建新项目时,需要复制原数据库的表结构和数据至其他数据库。怎么快速响应业务要求呢?
第一种方案:在目标库使用SQL语句批量建表,然后去修改字段的类型,主键等等。然后通过应用程序将数据插入至目标库。
第二种方案:自动建表和1:1镜像复制数据,复制数据时支持修改表结构。
在我们没接触到kettle时,一般都会想到第一种方案,这种搬运数据,无疑就像搬砖,非常辛苦,但是效率低下,且出错率高。
有没有高效的搬砖技巧呢?或者有没有更高级的办法,将数据复制粘贴,从一个库迁移至另外一个库呢?
答案当然是肯定的,让我们一起来看看吧。
一、可视化数据迁移程序开发
如下图所示,这是最后完成作业的效果图,对应的作业由两部分组成,一个自动建表的脚步,和一个复制数据的转换,然后通过箭头将类似的转换串联起来,就做成了批次迁移数据的作业。这些作业程序乍看起来有点复杂,像一字长蛇阵,其实这些都不需要我们学习,因为这些都是自动生成的。
二、kettle开发工具-复制多表向导
如图所示,我们点击工具-向导-复制多表向导,即可进入我们批量数据迁移的可视化开发界面。 (如果没有kettle开发工具,可以点击链接下载,下载低版本的。如5.2的,因为低版本运行更顺畅)
kettle下载地址: https://sourceforge.net/projects/pentaho/files/Data%20Integration/
如图所示,我们选择生产的源库,迁移至我们数仓的BI库,然后我们点击下一步,选择需要迁移的表,然后点击下一步即可完成迁移数据作业的开发。
三、看看作业程序里面都有啥
1、建表脚本
程序会根据目标库将对应建表语句自动创建,如图所示为oracle建表语句。
2、复制数据转换
如图所示自动生成转换注释,并生成脚本转换程序,可以看到表输入是查询对应表所有数据,输出至目标库和我们自己写转换程序时一样,只是这是自动生成的,当然我们也可以在里面按自己要求加上过滤条件,来复制我们需要的部分数据,比如我们只需要近一年的数据等等,然后点击运行作业,即可完成数据迁移工作,是不是超级简单呀。 还不赶快去试试吧,有不懂可以留言讨论哦~
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)