ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。

Kettle http://kettle.pentaho.org)翻译成中文名称应该叫水壶,是一个ETL工具集,它允许你管理来自不同数据库的数据。Kettle通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle家族目前包括4个产品:SpoonPanCHEFKitchen。

SPOON 允许你通过图形界面来设计ETTL转换过程(Transformation).PAN 允许你批量运行由Spoon设计的ETL转换 (例如使用一个时间调度器)CHEF 允许你创建任务(Job)。KITCHEN 允许你批量使用由Chef设计的任务 。

一、Kettle的下载和安装:

可以从http://kettle.pentaho.org下载Kettle,同时,Kettle是绿色软件,下载后,解压到任意目录即可。由于Kettle是采用java编写,因此需要在本地有JVM的运行环境,Kettle采用的版本是1.4及以上。在这里我遇到一个问题就是本地机器上面我安装的是Oracle9i,默认采用的JDK是1.3,因此,kettle不能运行。只有安装最新的jdk,然后放在path的最前面,但是这样子的话,oracle和kettle才可以同时使用。

二、Spoon启动,资源库配置

点击目录下面的kettle或者spoon.bat即可启动kettle,在启动kettle的时候,会弹出对话框,让用户选择建立一个资源库。资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。资源库可以是各种常见的数据库,用户通过用户名/密码来访问资源库中的资源,默认的用户名/密码是admin/admin.资源库并不是必须的,如果没有资源库,用户还可以把转换任务保存在 xml 文件中。下面就是资源库的建立截图:

  • 点击Test可以测试连接是否成功建立。
  • 点击Explore可以查看连接表的相关信息,如下:

上图中,在左侧列示的是testdb数据库中存在的表。右侧显示的是能对表进行的操作。例如能够查看某张表的前100行数据、自定义查看某表的前**行数据、能够快速查看该表中所有的记录数、能够查看某表的具体结构,如图:

并且在右侧也能够生成相应的数据定义语言(DDL),和数据查询语言,同时能够快速的清空某表的所有数据。
  • 点击Feature List可以查看对于建立的连接的所有的属性。

最后点击确定,回来登录页面,输入默认的用户名和密码admin/admin.这样在我们指定的库里面将创建一个资源库,用以记录我们的操作步骤和相关的日志,转换,JOB等信息。