一、Kettle概念
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
二、下载和部署
下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可.
下载kettle包,并解压http://community.pentaho.com/projects/data-integration/
压缩包:(这里使用的是Kettle6.1版本)
解压:
三、Kettle环境配置
1、安装JDK(略)
2、测试JDK安装成功(略)
JDK安装步骤见《kettle安装部署及远程执行.docx》
强调:kettle6.1版本,必须配套使用JDK1.7及以上版本。
3、运行Kettle
Windows下找到$KETTLE_HOME/spoon.bat,双击运行.
欢迎界面如下图所示:
四、Kettle组件介绍与使用
1 、Kettle使用
Kettle提供了资源库的方式来整合所有的工作,;
1)创建一个新的transformation,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Trans,kettle默认transformation文件保存后后缀名为ktr;
2)创建一个新的job,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为Job,kettle默认job文件保存后后缀名为kjb;
2 、组件树介绍
2.1 、Transformation的主对象树和核心对象分别如下图:
ransformation中的节点介绍如下:
Main Tree:菜单列出的是一个transformation中基本的属性,可以通过各个节点来查看。
DB连接:显示当前transformation中的数据库连接,每一个transformation的数据库连接都需要单独配置。
Steps:一个transformation中应用到的环节列表
Hops:一个transformation中应用到的节点连接列表
核心对象菜单列出的是transformation中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加:
Input:输入环节
Output:输出环节
Lookup:查询环节
Transform:转化环节
Joins:连接环节
Scripting:脚本环节
2.2 、Job的主对象树和核心对象分别如下图:
Main Tree菜单列出的是一个Job中基本的属性,可以通过各个节点来查看。
DB连接:显示当前Job中的数据库连接,每一个Job的数据库连接都需要单独配置。
Job entries/作业项目:一个Job中引用的环节列表
核心对象菜单列出的是Job中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添加。
每一个环节可以通过鼠标拖动来将环节添加到主窗口中。
并可通过shift+鼠标拖动,实现环节之间的连接。
2.3 、kettle的简单使用
DB连接
我们可以看到转换的主对象树和核心对象区域,然后我们添加一个DB连接。
选择“主对象树”,双击“转换”标签下的“DB连接”会弹出一个配置窗