kettle多表数据迁移

多表数据迁移

将不同的数据库中的多个表中的数据进行迁移,将表名作为变量,在作业中执行。

本文使用的数据库均是mysql。

1.创建2个数据库

一个是源数据库,一个是目标库,源数据库中有表和数据;目标有对应的空表;

2.建立第一个转换,名称为“获取表名.ktr”

创建转换的方法:文件->新建->转换

获取表名的方法有多个,此处列出使用表输入和excel输入获取,个人觉得使用表输入适用于数据库中所有表均同步,excel适用于制定表数据同步;获取到表名后设置表名存储字段,并将表名记录复制到结果中;

         (1)表输入

(2)excel输入

输入/表输入:

 

输入/Excel输入:

 

说明:

测试用的excel存储的表名:

转换/字段选择:

点击“获取选择的字段”,在下拉中选择即可;

作业/复制记录到结果:此项不用做任何设置;

 

3.建立第二个转换,名称为“设置变量.ktr”

将获取的表名设置为变量

作业/从结果获取记录:

字段名称与第一个转换中的字段选择的名称保持一致;

作业/设置变量:

 

4.建立第三个转换,名称为“迁移数据.ktr”

将表(变量TNAME)的数据进行迁移

输入/表输入:

记得勾选下面的:替换SQL语句中的变量

输出/表输出:

 

5.建立一个子作业,名称为“迁移数据子作业.ktr”

创建作业的方法:文件->新建->作业

通用/start:

不需要任何设置;

通用/设置变量:

 

通用/转换:

 

6.建立一个子作业,名称为“迁移数据.ktr”

实现需求的最终作业,开始后,先获取表名,然后执行作业(获取到所有表的数据迁移),完成后结束。

Start,不再赘述。如果需要定时可以在此处设置定时更新时间。

通用/转换---获取表名:

通用/作业:

通用/成功:不需要任何设置。

以上所有设置完成后,点击执行:

成功了,可以去看看了。

刚开始使用kettle,有错误的地方烦请指正 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值