KETTLE入门体验
Kettle简介
Kettle 是"Kettle E.T.T.L. Envirnonment"只取首字母的缩写,这意味着它被设计
用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水
壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到
一个壶里然后以一种指定的格式流出。
Spoon 是一个图形用户界面,它允许你运行转换或者任务,其中转换是用Pan 工具来运
行,任务是用Kitchen 来运行。Pan 是一个数据转换引擎,它可以执行很多功能,例如:从
不同的数据源读取、操作和写入数据。Kitchen 是一个可以运行利用XML 或数据资源库描述
的任务。通常任务是在规定的时间间隔内用批处理的模式自动运行。
Kettle的安装
要运行此工具你必须安装 Sun 公司的JAVA 运行环境1.4 或者更高版本,相关资源你可
以到网络上搜索JDK 进行下载,Kettle 的下载可以到http://kettle.pentaho.org/取得最
新版本。
Kettle的启动(运行Spoon)
下面是在不同的平台上运行Spoon 所支持的脚本:
Spoon.bat: 在windows 平台运行Spoon。
Spoon.sh: 在Linux、Apple OSX、Solaris 平台运行Spoon。
启动后界面
Kettle资源库
资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。资源库有两种形式:
一、Kettle database repository,即保存在各种常见的数据库资源库类型,用户通过用户名/密码来访问资源库中的资源,默认的用户名/密码是admin/admin和guest/guest。
二、Kettle file repository,保存在服务器硬盘文件夹内的资源库类型,此类型的资源库无需用户进行登录,直接进行操作。
当然,资源库并不是必须的,如果没有资源库,用户还可以把转换任务保存在xml文件中。为了方便管理,建议用户建立并使用数据库类型资源库Kettle database repository。
创建资源库
点击Tools资源库-连接资源库
点击新建
选择数据库类型资源库Kettle database repository,点击"确定"
在"资源信息库"窗口中,点击"新建"按钮,新建一个数据库连接
在"Database Connection"窗口,选择数据库类型,并填写数据库连接的相关信息,本实例选用oracle数据库。
点击test按钮进行数据库连接测试
数据库连接正确后,点击"确定",再点击"OK",回到"资源库信息窗口",点击"创建或更新"按钮
在弹出的"简单SQL编辑器"窗口中,点击"执行"按钮,执行相应的资源库创建脚本。(用户可以查看这些脚本具体是进行了什么操作:创建了42张表,并插入了一些相关信息数据,如R_USER表里插入了admin和guest两个用户的信息,这两个用户也是该资源库的登录用户,想深入研究资源库的用户可以并一步去了解相关内容)
在弹出"SQL语句运行结果"窗口,点击"确定"按钮
再点击"关闭"按钮,关闭"简单SQL编辑器"窗口
在"资源库信息"窗口,填写资源库的ID和名称,然后点击"确定"按钮。
温馨提示:建议使用英名,因为使用中文容易出现乱码,而使得退出后,下次登录资源库时无法找到相应的配置
在"资源库连接Repository Connection"窗口,选择刚才创建的资源库"备付金系统",填写用户名和密码,新建的资源库的默认用户和密码有两个,admin/admin和guest/guest,然后点击"确定OK"按钮,即可登录资源库。
创建一个转换(把数据库里的一个用户表抽取到另外一个用户表中)
首先创建两个数据库连接:
从左边的【核心对象选项卡-输入】中拖入一个表输入控件,输入RYFZ表的数据
从左边的【核心对象选项卡-输出】中拖入一个表输出控件,把前面表输入的数据抽取到TEST表中。
把表输入和表输出控件连接起来:
设置表输出的属性
点击Enter field mapping按钮,设置原表和目标表的字段映射关系
把除了INPUT_DATE字段以外的所有字段值都抽取到目标表中,设置映射关系如下
设置完成后,保存刚建立的转换
创建一个JOB
从核心对象中拖入START和转换两个控件,
双击刚添加的Transformation(转换),把前面建立好的转换添加进来:
设置完成后效果如下:
运行JOB