kettle 4.2.0基础教程
kettle使用手册

kettle使用手册Kettle使用手册一、Kettle简介1.1 Kettle概述Kettle(也被称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,它能够从各种数据源中提取数据,并进行各种转换和加工,最后将数据加载到指定的目的地中。
Kettle具有强大的数据处理功能和友好的图形化界面,使得数据集成和转换变得简单而高效。
1.2 功能特点- 数据抽取:从多种数据源中提取数据,包括关系型数据库、文件、Web服务等。
- 数据转换:支持多种数据转换操作,如字段映射、类型转换、数据清洗等。
- 数据加载:将转换后的数据加载到不同的目的地,如数据库表、文件、Web服务等。
- 调度管理:支持定时调度和监控,可自动执行数据集成任务。
二、安装与配置2.1 系统要求在安装Kettle之前,请确保满足以下系统要求: - 操作系统:Windows、Linux、Unix等。
- Java版本:JDK 1.8及以上。
- 内存:建议至少4GB的可用内存。
2.2 安装Kettle最新版本的Kettle安装包,并按照安装向导进行安装。
根据系统要求和个人需求进行相应的配置选项,完成安装过程。
2.3 配置Kettle在安装完成后,需要进行一些配置以确保Kettle正常运行。
具体配置步骤如下:- 打开Kettle安装目录下的kettle.properties文件。
- 根据实际需要修改配置项,如数据库连接、日志路径、内存分配等。
- 保存修改并重启Kettle。
三、Kettle基础操作3.1 数据抽取3.1.1 创建数据源连接打开Kettle,左上角的“新建连接”按钮,在弹出的窗口中选择待抽取的数据源类型(如MySQL、Oracle等),填写相关参数并测试连接。
3.1.2 设计数据抽取作业- 打开Kettle中的“转换”视图。
- 从左侧的工具栏中选择适当的输入组件(如“表输入”或“文件输入”),将其拖拽到设计区域中。
kettle操作手册

1.什么Kettle?Kettle是一个开源的ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)项目,项目名很有意思,水壶。
按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。
Kettle包括三大块:Spoon——转换/工作(transform/job)设计工具(GUI方式)Kitchen——工作(job)执行器(命令行方式)Span——转换(trasform)执行器(命令行方式)Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
2.Kettle简单例子2.1下载及安装Kettle下载地址:/projects/pentaho/files现在最新的版本是 3.6,为了统一版本,建议下载 3.2,即下载这个文件pdi-ce-3.2.0-stable.zip。
解压下载下来的文件,把它放在D:\下面。
在D:\data-integration文件夹里,我们就可以看到Kettle的启动文件Kettle.exe或Spoon.bat。
2.2 启动Kettle点击D:\data-integration\下面的Kettle.exe或Spoon.bat,过一会儿,就会出现Kettle的欢迎界面:稍等几秒,就会出现Kettle的主界面:2.3 创建kettle后台管理点击【新建】,新建资源库信息这里我们选择KETTLE 后台管理数据库的类型,以及配置JDBC设置完成后,点击【创建或更新】,将会在指定的数据库里面新建KETTLE的后台管理数据表。
再设置【名称】,点击【确定】。
回到登陆界面,选择新建的【资源库】,输入用户账号密码(默认账号:admin,密码:admin)进入KTETTLE 的开发界面2.4 kettle说明主对象树:转换(任务),作业(JOB)核心对象:主对象中可用的组件2.5 值映射组件使用的字段名:源字段目标字段名:目标字段源值:源数据的值目标值:替换的值注:最好先将源值去空格,再进行替换2.6 增加常量组件名称:映射字段类型:字段类型格式:数据格式长度:值:常量的值2.7计算器组件新字段:映射字段计算:计算类型字段A,B,C:需计算的字段值类型:数据的类型2.8获取系统信息组件名称:显示的名称类型:显示的类型(系统时间,IP,指令等等)2.9增加序列组件值的名称:映射值的名称起始值:序列的初始值增加值:设置增加的值最大值:设置最大值2.10 表输出组件数据库连接:设置数据库目标表:设置目标的表提交记录数量:设置提交数量忽略插入错误:跳过错误,继续执行指定库字段:数据库字段:选择插入的字段2.11 多路选择(Switch/Case) 组件更多路选择的字段:设置Switch的字段分支值的数据类型:设置值的类型分支值:值:设置case的值目标步骤:跳过的操作步骤缺省的目标步骤:未通过的操作步骤2.12 Null if... 组件名称:选择替换的字段需要转换成NULL的值:需要转换成NULL的值2.12 执行SQL脚本组件数据库连接:选择数据库SQL script :输入要执行的SQL语句参数:设置要替换的参数字段2.13 Modified Java Script Value 组件Java Script:脚本的输入:输入字段:输出字段字段名称:定义的字段名改成为:新的字段名类型:字段类型Replace Value:是否替换的值2.14 合并记录组件旧数据源:输入数据源新数据源:输入数据源匹配关键字段:匹配关键字段数据字段:数据字段2.15 记录关联(笛卡尔输出) 组件条件:输入关联的条件2.16 Merge Join 组件第一个步骤:第一个操作的步骤第二个步骤:第二个操作的步骤步骤选择的字段:步骤关联的字段2.17 行转列组件关键字:选择表的关键字分组字段:分组的字段目标字段:选择目标在字段VALUE:值字段名称关键字值:关键字值类型:数据类型2.18 生成随机值组件名称:新生成字段名类型:随机数的类型2.19 去除重复行组件字段名称:关键字的字段忽略大小写:是否忽略大小写注意:去掉重复行需先排序2.20 插入/ 更新组件数据库连接:选择数据库目标表:选择目标表不执行任何更新:是否执行更新操作查询的关键字:关键字更新字段:选择要插入更新的字段2.21 表输入组件数据库连接:选择数据库SQL:输入SQL语句预览:数据预览获得SQL查询语句:获得SQL查询语句2.22 排序记录组件字段名称:选择排序的字段名称升序:是否升序大小写敏感:是否区分大小写2.23 XML输出组件文件名称:输出文件的名称跟路径扩展:扩展名2.24 文本文件输出组件文件名称:输出文件的名称跟路径扩展:扩展名2.25 Write to log 组件日志级别:选择日志级别字段:选择打印的字段2.26 过滤记录组件条件:输入条件发送True给的步骤:返回True的步骤发送false给的步骤:返回false的步骤2.27 JOB定时组件重复:是否重复类型:选择类型2.28 转换组件转换文件名:选择执行转换的文件指定日志文件:输出日志文件2.5 命令行运行ktr和kjb在上面的过程中,我们都是在IDE工具中,直接点击按钮进行运行文件的,但在实际中,我们需要脱离IDE,进行单独的运行,这时就必须用到命令行来运行文件了。
kettle使用手册

1打开程序,点击spoon.bat其实对于简单的数据库数据的抽取,基本只需要转换(.ktr格式)和作业(.kjb格式)这两种东西。
下面就是建立一个转换的步骤:a 点击文件-->新建-->转换。
b 在左侧的树状列表中选“主对象树”,新建DB连接(参照第4点)。
c 在核心对象-->输入这个地方拖出一个表输入,在“输出”目录下拖出“表输出”,按住shift,从一个对象拖到另一个对象可进行连线。
2基本作业由开始,转换,成功3步骤组成。
步骤之间使用shift+左键连线。
2.1‘1’代表无条件执行;2.2‘2’代表上一步执行完成后,再执行下一步;2.3‘3’代表不执行,左击连接线使其生效(绿色)或失效(灰色)。
3打开具体步骤中的转换流程,点击‘Transformation’跳转至相应具体转换流程,编辑此转换具体路径,双击转换,弹出窗口,‘1’为相对路径,点击‘2’选择具体Visit.ktr转换,为绝对路径。
4建立数据库连接,输入相应信息测试,成功即可图45转换具体设置,如图4,‘表输出’至‘文本文件输出’流程跳接线为错误处理步骤,当输出格式不能满足表输出的目的表结构类型时,将会将记录输出到‘文本文件输出’中的记录中。
5.1双击‘表输入’,输入相应的SSQL语句,选择配置数据库连接,或新增,预览查询生成的结果(如果数据库配置中使用变量获取,此处预览生成错误)。
5.2双击‘表输出’,选择数据库连接,‘浏览’选择相应目标表,(此处‘使用批量插入’勾选去除,目的是在错误处理步骤中无法使用批量处理,可能是插件兼容问题)6表输出插件定义a) Target Schema:目标模式。
要写数据的表的Schema的名称。
允许表明中包含“。
”对数据源来说是很重要的b) 目标表:要写数据的表名。
c) 提交记录数量:在数据表中用事物插入行。
如果n比0大,每n行提交一次连接。
否则不使用事务,速度会慢一些。
d) 裁剪表:在第一行数据插入之前裁剪表。
Kettle入门教程

Kettle入门教程最近做的项目用到了ETL工具Kettle,这个工具相当好用,可以将各种类型数据作为数据流,经过处理后再生成各种类型的数据。
正如其名“水壶”,将各个地方的水倒进水壶里,再用水壶倒入不同的容器。
不过一来初学乍用,二来对此任务不是很感兴趣,研究的不是很深入,可能是以一种不科学的方法使用的,但观教程,常用的内容似乎也涉及到了,并且Y大说过,要善于总结,于是有了这篇,作为入门说明吧。
一、下载与安装官网地址大概700~800M,下载好解压缩即可。
当然,要求JDK环境(似乎有自带)二、任务(.kjb)与转换(.ktr)Kettle工具的主界面-作业简单地说,一个转换就是一个ETL的过程,而作业则是多个转换、作业的集合,在作业中可以对转换或作业进行调度、定时任务等(据说定时不好用,可以通过其他方式,比如linux的crontab命令,不过实际使用中,这个指令也不大好使,有待查看日志探明原因。
)我在实际过程中,写的流程不是很复杂,当数据抽取需要多步骤时,分成多个转换,在集合到一个作业里顺序摆放,然后执行即可,不放到作业里的话,要对多个转换依次执行命令,比较麻烦。
三、煎锅、勺子、厨房是不是莫名其妙,以为走错了片场?然而这是几个重要的工具名称。
1)勺子-Spoon.bat/spoon.sh图形界面工具,就是启动上图主界面的命令行。
这个界面应该是JavaFX做的。
这个用来在有图形界面的系统下写任务(如何通过命令行写我不知道,并且我怀疑没有这个可能……),如Windows,写好后,也可以通过该工具进行执行,调试。
这个工具最大的问题是启动很慢,并且如果修改了数据库连接的配置,只有重新启动才能生效了。
这时候就体现了命令行的优越性。
转换窗口简单的转换示例左边有很多控件可供选择,上图展示了我在使用中经常用到的几个控件。
•执行SQL脚本:可以直接在控件里写SQL,并指定执行的库。
•表输入:通过查询数据库的表来获取输入数据流。
Kettle使用培训文档

KETTLE使用-TRANSFORMATION
菜单介绍
Core Objects菜单列出的是 transformation中可以调用的环节列 表,可以通过鼠标拖动的方式对环 节进行添加。
Input:输入环节 Output:输出环节 Lookup:查询环节 Transform:转化环节 Joins:连接环节 Scripting:脚本环节
KETTLE使用案例
KETTLE使用案例
KETTLE使用案例
数据库连接选择数据仓库的数据库,目标表选 择对应的infortaotal表,在查询关键字里,表 字段写name(表示仓库表里的字段),流里的字 段1里写入NAME(即上一个步骤输入的内容里 的NAME)。比较符用”=”号。点击Edit mapping 按钮,将表字段,与流利的字段进行对应,即 流里字段里的值输入到表里的哪个字段里去。
会根据查询条件中字段进行判断更新根据处理结果对数据库进行更新若需要更新的数据在数据库表中无记录则会报错停止删除根据处理结果对数据库记录进行删除若需要删除的数据在数据库表中无记录则会报错停止lookup数据库查询根据设定的查询条件对目标表进行查询返回需要的结果字段流查询将目标表读取到内存通过查询条件对内存中数据集进行查询调用db存储过程调用数据库存储过程transform字段选择选择需要的字段过滤掉不要的字段也可做数据库字段对应过滤记录根据条件对记录进行分类排序记录将数据根据某以条件进行排序空操作无操作增加常量增加需要的常量字段scriptingmodifiedjavascriptvalue扩展功能编写javascript脚本对数据进行相应处理mapping映射子转换数据映射jobsatvariables设置环境变量getvariables获取环境变量kettlekettle使用使用jobjob菜单介绍maintree菜单列出的是一个job中基本的属性可以通过各个节点来查看
kettle操作文档

Kettle操作文档1.Kettle介绍。
(2)2. Kettle下载。
(2)3.使用规范和注意事项。
(3)3.1.配置数据库的全局变量。
(3)3.2.文件命名规范(不要用汉字)。
(3)3.3.文件存放位置。
(3)3.4.配置启动任务文件。
(3)3.5.注意事项。
(4)4. Kettle部署使用。
(4)4.1.启动kettle。
(4)4.2.创建转换文件。
(5)4.2.1.使用标识字段实现新增数据。
(5)4.2.2.使用时间戳实现新增或修改数据。
(11)4.2.3.使用时间比较实现新增或修改数据。
(14)4.2.4.使用对某一数据值比较实现新增或修改数据。
(17)4.3.创建任务文件。
(19)4.4.命令行启动任务。
(20)1.Kettle介绍。
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于政府部门来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定,提供了图形化界面,使用很方便。
Kettle中有两种脚本文件,transformation和job,transformation 完成针对数据的基础转换,job则完成整个工作流的控制。
2.Kettle下载。
Kettle可以在网站下载kettle压缩包,因kettle为绿色软件,解压即可使用。
这个压缩包,公司加了一些功能,跟官网下载的不太一样,建议使用公司论坛上的压缩包。
资料网站:。
注:解压路径尽量不要有中文。
.kettle:存放kettle的一些环境变量信息,资源库的信息。
jre6:存放java运行库文件(1.6版本)。
launcher:存放启动的文件以及启动的配置信息。
lib:存放kettle的库文件。
libext:存放用到的外部库文件。
libswt:存放用到的界面库文件。
KETTLE使用说明

KETTLE使用说明在本使用说明中,我们将详细介绍如何使用KETTLE完成一些常见的数据处理任务。
第一步:安装和启动KETTLE在Windows中,双击运行Spoon.bat文件来启动KETTLE。
在Linux 和Mac OS中,打开终端,进入KETTLE目录,输入"./spoon.sh"命令来启动KETTLE。
第二步:创建一个新的数据流程启动KETTLE后,您将看到一个图形化界面。
在左上角的工具栏中,有一个新建按钮,点击它来创建一个新的数据流程。
在创建数据流程时,您需要为其指定一个名称。
完成后,点击确定按钮。
第三步:添加数据源在左侧的工具箱中,您可以找到各种组件,如输入步骤、输出步骤、转换步骤等。
为了演示,我们先添加一个输入步骤。
在工具箱中,找到输入步骤,并将其拖放到主界面中。
然后,双击该步骤,在弹出的对话框中配置数据源。
在配置对话框中,您需要指定数据源的类型,如文本文件、Excel文件、数据库等。
根据不同的类型,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
在数据流程中,您可以使用转换步骤对数据进行处理。
为了演示,我们使用一个简单的转换步骤来删除重复的数据。
在工具箱中,找到去重复步骤,并将其拖放到已添加的输入步骤的下方。
然后,双击该步骤,在弹出的对话框中配置参数。
在配置对话框中,您需要指定要去重的字段。
您可以选择多个字段以进行复合去重。
完成配置后,点击确定按钮。
第五步:添加输出在数据流程中,您也需要指定一个输出步骤来保存处理后的数据。
在工具箱中,找到输出步骤,并将其拖放到已添加的去重复步骤的下方。
然后,双击该步骤,在弹出的对话框中配置输出格式和目标文件。
在配置对话框中,您需要指定输出的格式,如文本文件、Excel文件、数据库等。
根据不同的格式,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
第六步:保存和运行数据流程完成对数据流程的配置后,点击工具栏中的保存按钮来保存数据流程。
2024版kettle教程学习

错误处理与日志记录
错误处理
Kettle提供错误处理机制,如错误跳转、错误邮件通知等,确保在转换执行过程中出现问题时能够及时响 应和处理。
日志记录
Kettle详细记录转换执行的日志信息,包括步骤执行详情、错误信息等,方便用户排查问题和优化转换性 能。
解压安装包
配置环境变量(可 启动Kettle 选)
从官方网站或开源社区下载 Kettle安装包。
确保计算机上已经安装了 Java运行环境(JRE)或 Java开发工具包(JDK)。
将下载的Kettle安装包解压 到指定目录。
将Kettle的安装目录添加到 系统的环境变量中,方便在 命令行中启动Kettle。
使用“文件输入”步骤从文件中抽取数据
支持多种文件格式,如CSV、Excel、XML等,通过配置文件格式和编码方式,实现文 件的读取和解析。
使用“JSON输入”步骤从JSON文件中抽取数据
解析JSON文件,提取所需的数据字段。
数据清洗策略与实践
数据去重
使用Kettle的“唯一行”步骤,根据指定字 段去除重复数据。
01
插件开发
根据实际需求,开发自定义的 Kettle插件,扩展Kettle的功能 和性能。
02
03
插件集成
插件优化
将开发的自定义插件集成到 Kettle中,方便用户使用和管理。
对自定义插件进行性能优化和功 能完善,提高Kettle的整体性能 和稳定性。
THANKS
感谢观看
REPORTING
PART 06
kettle实战案例分享
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
kettle 4.2.0探索
1.Kettle介绍
1.1.什么是kettle
Kettle 也叫PDI,在2006年Kettle 加入了开源的BI 组织Pentaho, 正式命名为PDI,英文全称为Pentaho Data Integeration。
Kettle 是“Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出。
Spoon是一个图形用户界面,它允许你运行转换或者任务,其中转换是用Pan工具来运行,任务是用Kitchen来运行。
Pan是一个数据转换引擎,它可以执行很多功能,例如:从不同的数据源读取、操作和写入数据。
Kitchen是一个可以运行利用XML或数据资源库描述的任务。
通常任务是在规定的时间间隔内用批处理的模式自动运行。
1.2.Kettle的安装
要运行kettle工具必须安装Sun公司的JAVA运行环境,kettle 4.2.0需要运行java 1.6或者更高版本,Kettle的下载可以到/取得最新版本。
kettle不需要安装,安装好java环境后,在操作系统环境变量path中配置jre路径,把kettle工具压缩包解压后可直接使用。
1.3.运行Spoon
下面是在不同的平台上运行Spoon所支持的脚本:
Spoon.bat:在windows 平台运行Spoon。
Spoon.sh:在Linux、Apple OSX、Solaris 平台运行Spoon。
1.4.资源库
资源库是用来保存转换任务的,用户通过图形界面创建的的转换任务可以保存在资源库中。
资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。
资源库有两种形式:
一、Kettle database repository,即保存在各种常见的数据库资源库类型,用户通过用户
名/密码来访问资源库中的资源,默认的用户名/密码是admin/admin和guest/guest。
二、Kettle file repository,保存在服务器硬盘文件夹内的资源库类型,此类型的资源库无需用户进行登录,直接进行操作。
当然,资源库并不是必须的,如果没有资源库,用户还可以把转换任务保存在xml文件中。
为了方便管理,建议用户建立并使用数据库类型资源库Kettle database repository。
温馨提示:
一、在删除资源库中单个内容时,不会提示“是否确定需要删除”,需要特别注意。
二、win7系统下,“Kettle file repository”类型资源库创建文件夹后,无法删除文件夹,不确定是Kettle工具本身的bug或者是在win7操作系统下的bug。
三、“Kettle database repository”类型资源库虽然有需要用户和密码进行登录,但目前还没有相应的权限控制。
1.5.资源库的创建
点击新建
选择数据库类型资源库Kettle database repository,点击“确定”
在“资源信息库”窗口中,点击“新建”按钮,新建一个数据库连接
在“Database Connection”窗口,选择数据库类型,并填写数据库连接的相关信息,本实例选用oracle数据库。
点击test按钮进行数据库连接测试
数据库连接正确后,点击“确定”,再点击“OK”,回到“资源库信息窗口”,点击“创建或更新”按钮
在弹出的“简单SQL编辑器”窗口中,点击“执行”按钮,执行相应的资源库创建脚本。
(用户可以查看这些脚本具体是进行了什么操作:创建了42张表,并插入了一些相关信息数据,如R_USER表里插入了admin和guest两个用户的信息,这两个用户也是该资源库的登录用户,想深入研究资源库的用户可以并一步去了解相关内容)
在弹出“SQL语句运行结果”窗口,点击“确定”按钮
再点击“关闭”按钮,关闭“简单SQL编辑器”窗口
在“资源库信息”窗口,填写资源库的ID和名称,然后点击“确定”按钮。
温馨提示:建议使用英名,因为使用中文容易出现乱码,而使得退出后,下次登录资源库时无法找到相应的配置,遇到此类情况,可根据下一章节“资源库名称乱码问题解决方法”进行相关修改设置。
在“资源库连接Repository Connection”窗口,选择刚才创建的资源库“备付金系统”,填写用户名和密码,新建的资源库的默认用户和密码有两个,admin/admin和guest/guest,然后点击“确定OK”按钮,即可登录资源库。
为了资源库的安全,我们需要修改资源库用户的登录密码,“Tools”→“资源库”→“探索资源库”,可以使用快捷键CTRL + E。
在资源库探索“Repository explorer”窗口,选择“Security”选项卡,然后选择需要修改的用户再点击编辑按钮
填写新密码,然后点击“OK”按钮即可完成用户密码的修改
1.6.资源库名称乱码问题解决方法
如果在创建资源库时,名称使用的是中文,容易出现乱码或者出现异常报错等情况情况一、乱码
情况二、异常,并且无法显示资源库
解决方法:根据以下路径“c:\Documents and Settings\<username>\.kettle\repositories.xml”文件,打开后找到乱码内容,如下图所示,把乱码删除后修改成中文即可。
1.7.运行日志
转换运行日志有4张表,JOB日志有3张表,可根据需要设置自己所需日志表和表字段,这些表的表名称和表字段可以根据需要进行修改,为了统一管理,建议把表名称和表字段固
1.7.1.转换运行日志
打开转换,设置转换运行日志,方法有三种
一、编辑→设置→日志
二、右键→转换设置→日志
三、快捷键CTRL+T →日志
1.7.
2.JOB运行日志
打开JOB,设置JOB运行日志,方法有三种
一、编辑→设置→日志
二、右键→作业设置→日志
三、快捷键CTRL+J →日志。