开源ETL工具KETTLE目前是开源BI产品Pentaho的一部分,所以也称PDI(Pentaho Data Integration )。项目名称很有意思:水壶,按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。
KETTLE是一个ETL工具集,它允许你管理来自不同数据库的数据。Kettle通过提供一个图形化的用户环境来描述你想做什么,工作被描述成元数据形式。
Kettle包含几个大的模块,我们常用的有Spoon、Pan、 Kitchen,SPOON允许你通过图形界面来设计ETL转换过程(Transformation)和工作(Job);PAN允许你批量运行由Spoon设计的ETL转换(例如使用时间调度器)。Pan是一个后台执行的程序,没有图形界面;KITCHEN允许你批量使用由Spoon设计的任务(例如使用一个时间调度器)。KITCHEN是一个后台运行程序。
首先我们试用Spoon模块,设计一个转换过程(Transformation),体会一下这个工具的灵活和简便:
(1)双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面:
(2)当出现配置库登录是,选择【Cancel】,不选用配置库,都用文件来保存元数据,打开KETTLE的主界面
(3)选择左上角【文件】菜单栏下的【新建】菜单创建一个新的transformation,点击【保存】菜单保存到本地路径, 保存文件名为pg2oracle,kettle默认transformation文件保存后后缀名为ktr。
(4)每个转换(transformation)都需要配置自己的数据库连接,现在我们为这个配置两个数据库连接,点击左边的【主对象树】,双击【DB连接】,进行数据库连接配置,分别配置一个到POSTGRESQL数据库的连接(pg_10.0.4.101)和一个到ORACLE数据库的连接(oracle_10.0.26.72)。
点击【test】,如果出现如下提示则说明配置成功
(5)点击左侧的【核心对象】,点击【输入】,选中【表输入】,拖动到主窗口释放鼠标。双击【表输入】图标数据库连接选择刚刚创建好的pg_10.0.4.101数据库连接,在主窗口写入对应的查询语句。
(6) 点击左侧的【核心对象】,点击【输出】,选中【表输出】,拖动到主窗口释放鼠标。双击【表输出】图标数据库连接选择刚刚创建好的oracle_10.0.26.72数据库连接,并选择目标模式和目标表。
(7)建立节点连接,选中【表输入】,按住shift键,按住鼠标左键,一直拖到【表输出】图标上,可以看到一个带箭头的连接线把两者连起来了。
至此,一个简单的转换(transformation)已创建完成,我们可以运行这个转换,检查它是否存在问题。下载本文