数据迁移之Kettle的使用小结

时间:2022-12-29 11:06:39

场景

有五个数据库,其中两个SQL Server还有三个是Oracle10G

目标

将两个SQL Server中的业务数据分别依照特定的逻辑迁移到三个Oracle数据库中。

Kettle的使用(基础)

Kettle的安装和配置

  1. 关于Kettle的安装可以直接到官网上去下载。
  2. 对于Kettle的配置需要有一个数据库,Kettle的数据库负责存储Kettle自身需要的元数据描述、任务、转换等,Kettle默认的登陆信息是admin/admin
  3. 创建Oracle数据库连接直接依照提示输入即可,下图例出了SQL Server的连接。

SQL Server的连接注意区分Database NameInstance Name

数据迁移之Kettle的使用小结

 

Kettle的基础概念

  1. 作业,负责将[转换]组织在一起进而完成某一块工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的作业,当这几个作业都完成了,也就说明这项任务完成了。
  2. 转换,定义对数据操作的容器,数据操作就是数据从输入到输出的一个过程,可以理解为比作业粒度更小一级的容器,我们将任务分解成作业,然后需要将作业分解成一个或多个转换,每个转换只完成一部分工作。

Kettle使用基础示例

  1. Kettle的错误处理,有很多场景需要用到错误日志记录,如迁移过程中提示数据自身的问题、主/外键错误、违反约束等都要将当前场景记录到一个地方供后续特殊处理。

示例

主要流程

数据迁移之Kettle的使用小结

错误信息配置

数据迁移之Kettle的使用小结

 

  1. 数据量很大的情况可以加上过滤参数处理

数据迁移之Kettle的使用小结

 

数据迁移之Kettle的使用小结

 

数据迁移之Kettle的使用小结

  1. 值的映射

 

数据迁移之Kettle的使用小结

 

数据迁移之Kettle的使用小结

 

  1. 连接

这块要注意到连接所用到的原始数据一定是排过序的

数据迁移之Kettle的使用小结

 

数据迁移之Kettle的使用小结

 

参考资料

  1. baidu文库#BI-Pentaho权威指南
  2. http://www.pentaho.com/
  3. http://blog.csdn.net/ybygjy/article/details/7478113