Kettle 7.1 使用文档
1. Kettle 概述
KETTLE 是”KETTLE E.T.T.L. ENVIRNONMENT”只取首字母的缩写,这意味着它被设计 用来
帮助你实现你的 ETTL 需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水 壶,
名字的起源正如该项目的主程序员 MATT 在一个论坛里说的哪样:希望把各种数据放到 一
个壶里然后以一种指定的格式流出。
Kettle 组件包括:SPOON,PAN,KITCHEN
SPOON 是一个图形用户界面,它允许你运行转换或者任务,其中转换是用 PAN 工具来
运行,任务是用 KITCHEN 来运行。
PAN 是一个数据转换引擎,它可以执行很多功能,例如 : 从不同的数据源读取、操作
和写入数据。
KITCHEN 是一个可以运行利用 XML 或数据资源库 描述的任务。通常任务是在规定的
时间间隔内用批处理的模式自动运行。
KETTLE 是一款国外开源的 ETL 工具,纯 JAVA 编写,绿色无需安装,因此可以运行于多 个
平台。其数据抽取高效稳定。 KETTLE 中有两种脚本文件, TRANSFORMATION 和 JOB,
TRANSFORMATION 完成针对数据的基础转换, JOB 则完成整个工作流的控制。
2.下载和安装
要运行此工具你必须安装 SUN 公司的 JAVA 运行环境 1.4 或者更高版本,相关资源你 可
以到网络上搜索 JDK 进行下载。设置 JAVA 运行环境变量,JAVA_HOME 和 PATH
KETTLE 的下载可以到 https://sourceforge.net/projects/pentaho/files/Data%20Integration/
下载相应版本,下载后解压,就可以直接运行。
Linux 运行 spoon.sh
Windows 运行 spoon.bat
Kettle 中文教程: http://www.kettle.net.cn/category/use
1
3. 定义
3.1 转换
1. VALUE:VALUES 是行的一部分,并且是包含以下类型的的数据 :STRINGS、FLOATING
POINT NUMBERS 、UNLIMITED PRECISION BIGNUMBERS 、 INTEGERS 、 DATES 、 或 者
BOOLEAN。
2. ROW:一行包含 0 个或者多个 VALUES。
3. OUTPUT STREAM:一个 OUTPUT STREAM 是离开一个步骤时的行的堆栈。
4. INPUT STREAM:一个 INPUT STREAM 是进入一个步骤时的行的堆栈。
5. HOP:一个 HOP 代表两个步骤之间的一个或者多个数据流。一个 HOP 总是代表着
一个步骤的输出流和一个步骤的输入流。
3.2 任务
JOB ENTRY: 一个 JOB ENTRY 是一个任务的一部分,它执行某些内容
HOP:一个 HOP 代表两个步骤之间的一个或多个数据流。一个 HOP 总是代表着两个 JOB
ENTRY 之间的连接,并且能够被原始的 JOB ENTRY 设置,无条件的执行下一个 JOB
ENTRY,直到执行成功或失败。
4.配置资料库
4.1 运行 spoon.bat 的常见错误:
4.1.1 Java 错误
该错误是因为 Kettle7.1 版本不支持 jdk1.7 及以下版本的 jdk,将 jdk 版本换成 1.8 以上版本
后即可解决。
4.1.2 内存错误
右键 spoon.bat,用记事本打开后修改如下数据:
将 Xms 修改成 256m 和 512(只要是 2 的倍数就行)
2
4.2 创建数据库资源库
如图
4.2.1.点击 Connect
4.2.2.点击 Repository Manager
4.2.3.点击 Other Repository
3
4.2.4.点击 Database Repository
4
4.2.5.起个名字后点击 Database Connection
4.2.6.点击 Create New Connection
5
4.2.7.根据实际需要配置即可
6
4.2.8.点击测试,测试完毕后点击确认即可完成创建数据库资源库
4.2.9 查看刚才新建的连接,kettle 7.1 会自动添加需要的表到你连接的数据库中。
7
该方法可能会报错,报错原因大多数都是由于 Kettle 中没有数据库的 jar 包导致,手动讲需
要的数据库 jar 包复制到 Kettle 根目录下的 lib 中后,重启 Kettle 即可解决。
8