记一次使用kettle数据迁移

对于我们这个系统。有三个方案。一是使用厂商的api执行。二是自己写代码跑。三是使用KETTLE移植。

这个说不上哪个好,哪个不好。我都做了尝试。

  • 方案一实现简单,就是按照api文档,简单说下对方提供的的方案,大致意思就是使用JDBC连接旧的数据库,然后再新的系统下执行。就是一个查询,一个保存。但是他封装了保存和生成方法。这也算是他的核心。这个报错了只能找厂商协调。过程可想而知的不爽。根本听不懂所云。
  • 方案二我是是用多数据源切换,也是一个查询导出,保存导入的过程。这个也是做了一天,查了很多自恋。这里面有几个难点一个是个多数据源切换,并且配置多个分页插件(使用的是MyBatis)。另外就是使用多线程执行并且有个字段映射这里使用的是EasyMapper这个很赞请有必要看看他的源码。这个我把多数据源配置放到码云。https://gitee.com/lien6o/oracle2mysql
  • 方案三是很中意的方案,简单,除去了自己映射字段。而且效率高。(这里数据量不大,150张表。单表不超过4w条数据)

KETTLE第一次使用。所以记录下:

一、下载安装:

还是去百度云找个资源吧,其他的实在慢的不行不行的。可以留言我。

二、jdk环境

都是搞java的不赘述了。

三、使用

1、文件新建 转换

131942_Rkng_3418748.png

 

2、DB连接

134708_rBmm_3418748.png

连接需要注意驱动,我在使用过程中Oracle的驱动自带。MySql需要下载。

经过测试: 把mysql的驱动放到\pdi-ce-5.2.0.0-209\data-integration\lib下或\pdi-ce-5.2.0.0-209\data-integration\libswt\win64

 

132449_q4Vr_3418748.png

重启之后即可解决这个问题。

132203_la2x_3418748.png

 

3、绘制流程

在核心对象分别搜索表输入,字段选择,表输出。

132620_92Bq_3418748.png

建立下图。这里需要使用 shift 创建连线。

132725_0TsH_3418748.png

双击 表输入 选择编辑 选择数据库连接 这里的SQL可以自定义。

133022_kxzD_3418748.png

双击表输出 设置表输出信息

133220_j4gz_3418748.png

勾选指定数据库字段 获取字段 输入字段映射 会高亮 进行选择

133635_FRVK_3418748.png

双击 字段选择

133322_XnH0_3418748.png

点击 列映射 可以进行配置。底下的猜一猜很有意思。

133755_76v4_3418748.png

开始 转换检查结果 注意这个标志 眼镜标志右面第三个。

134034_ve5s_3418748.png

133921_ZvJ8_3418748.png

勾选 显示成功结果

134132_ss0r_3418748.png

然后就可以开始了

134515_Hevu_3418748.png

备注:当遇见二进制数据移植时注意

150653_8MgS_3418748.png

选为是;因为:二进制加载类型是在加载时创建的,打开了懒惰的转换。 

总结:kettle的功能强大。还有其他很多功能。数据移植只是其中的一个使用。

转载于:https://my.oschina.net/u/3418748/blog/1573878

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值