Kettle 使用方法介绍
1、Kettle 概念
Kettle 是一款国外开源的 ETL 工具,纯 java 编写,可以在 Window、Linux、Unix
上运行,绿色无需安装,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员 MATT 希望把各种数据放到一个壶里,
然后以一种指定的格式流出。
Kettle 这个 ETL 工具集,它允许你管理来自不同数据库的数据,通过提供一个图
形化的用户环境来描述你想做什么,而不是你想怎么做。
Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的
基础转换,job 则完成整个工作流的控制。
2、下载和部署
下载 kettle 压缩包,因 kettle 为绿色软件,解压缩到任意本地路径即可
3、Kettle 环境配置
1.安装 JDK(略)
2.测试 JDK 安装成功(略)
3.运行 Kettle
Windows 下找到$KETTLE_HOME/spoon.dat,双击运行
欢迎界面如下图所示:
4、KETTLE 组件介绍与使用
4.1 Kettle 使用
Kettle 提供了资源库的方式来整合所有的工作,;
1)创建一个新的 transformation,点击 保存到本地路径,例如保存到 D:/etltest 下,保存文
件名为 Trans,kettle 默认 transformation 文件保存后后缀名为 ktr;
2)创建一个新的 job,点击 保存到本地路径,例如保存到 D:/etltest 下,保存文件名为 Job,
kettle 默认 job 文件保存后后缀名为 kjb;
4.2 组件树介绍
4.2.1Transformation 的主对象树和核心对象分别如下图:
Transformation 中的节点介绍如下:
Main Tree:菜单列出的是一个 transformation 中基本的属性,可以通过各个节点来查看。
DB 连接:显示当前 transformation 中的数据库连接,每一个 transformation 的数据库连接都
需要单独配置。
Steps:一个 transformation 中应用到的环节列表
Hops:一个 transformation 中应用到的节点连接列表
核心对象菜单列出的是 transformation 中可以调用的环节列表,可以通过鼠标拖动的方式对
环节进行添加:
Input:输入环节
Output:输出环节
Lookup:查询环节
Transform:转化环节
Joins:连接环节
Scripting:脚本环节
4.2.2 Job 的主对象树和核心对象分别如下图:
Main Tree 菜单列出的是一个 Job 中基本的属性,可以通过各个节点来查看。
DB 连接:显示当前 Job 中的数据库连接,每一个 Job 的数据库连接都需要单独配置。
Job entries/作业项目:一个 Job 中引用的环节列表
核心对象菜单列出的是 Job 中可以调用的环节列表,可以通过鼠标拖动的方式对环节进行添
加。
每一个环节可以通过鼠标拖动来将环节添加到主窗口中。
并可通过 shift+鼠标拖动,实现环节之间的连接。
4.3 使用举例 1
4.3.1 建立转换
选中列表中的的“表输入”、“表输出”、“插入/更新”,拖拽到右侧工作区。鼠标选中节
点键盘按 shift 键,拖拽即可连线。下图是一个转换,有两个动作,一是直接从数据源表同
步数据到目标表,一是检查源表的插入和更新,同步到目标表。
黑色线为生效,灰色线为失效,节点和连接可双击进行编辑。
可预览数据是否正确。
双击编辑表输出动作。
操作的数据库名
要获取的字段设置如下所示:
点击“Enter field mapping/输入字段映射”进行字段选择。
选择要用的字段后点确定,注意字段的约束条件。
编辑好后点击上面的执行即可。
左侧参数暂不说明,执行完成后可以观看下方的日志。