开源ETL工具kettle--数据迁移



 背景

由于项目的需求,需要将数据从Oracle迁移到MSSQL,不是简单的数据复制,而是表结构和字段名都不一样,甚至需要处理编码规范不一致的情况,如下图所示




 
 

注意:Oracle和MSSQL中的同名表的字段名是不相同的

如果要是采用手工SQL语句操作的话会很麻烦,需要考虑

Oracle和MSSQL SQL语法的差异数据从抓取--转化--加载迁移的过程安排字段的映射外键的约束目的表是否为空等等许多问题

而这些问题对于kettle来说都不叫事,下面就为大家介绍如何使用强大的kettle实现数据的迁移

实战

Kettle翻译成中文是“水壶”,这个名字很形象,不管你向水壶当中添加了哪些液体或者可溶物质从壶嘴里面出来的都是均匀统一的液体。对于数据加载就是:不管数据源采用什么样的格式,Excel、datatable、纯文本或者是xml,kettle都能转化成统一的格式进行处理,并且能够更具用户的需要导出不同的格式

下面我们就用kettle来解决上述问题

首先介绍一下kettle的两个工作单元:transformation和job

transformation:实现数据的转化

job:对transformation根据依赖关系组织执行顺序,还可以对job的执行进行条件判断和预处理,用户还可以设 置job的执行时间,比如每天的9:00开始执行job,这和持续构建中的job意思一样。

看一下这款神奇的软件长的什么样子



 

首先我们创建一个transformation,命名:tr_stu_and_class,如下图所示,目的是先将学生和班级的信息从Oracle迁移到mssql

\" width=下载地址

http://sourceforge.net/projects/pentaho/files/Data%20Integration/5.0.1-stable/pdi-ce-5.0.1.A-stable.zip/download

猜你喜欢

转载自zihai367.iteye.com/blog/2261320