kettle使用手册
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打开程序,点击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开发使用手册Kettle开发使用手册4月版本历史说明1.Kettle介绍1.1.什么是KettleKettle是纯Java编写的、免费开源的ETL工具,主要用于抽取(Extraction)、转换(Transformation)、和装载(Loading)数据。
Kettle中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
在这种思想的设计下,Kettle广泛用于不同数据库之间的数据抽取,例如Mysql 数据库的数据传到Oracle,Oracle数据库的数据传到Greenplum数据库。
1.2.Kettle的安装Kettle工具是不需要安装的,直接网上下载解压就能够运行了。
不过它依赖于Java,需要本地有JDK环境,如果是安装4.2或5.4版本,JDK需要1.5以上的版本,推荐1.6或1.7的JDK。
运行Kettle直接双击里面的批处理文件spoon.bat就行了,如图 1.1所示:图1.12.Kettle脚本开发2.1.建立资源库(repository仓库)Repository仓库是用来存储所有kettle文件的文件系统,由于数据交换平台服务器管理kettle文件也是用Repository仓库,因此我们这边本地的kettle开发环境也是要用到该资源库。
建立资源库的方式是工具 --> 资源库- -> 连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettle file repository选项,按确定,如图2.1所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述能够任意写,如图2.2所示:。
ETL工具Kettle用户手册5.0

5.2. 描述...................................................................................................... - 24 -
6. 节点连接(Hops) .............................................................................................. - 24 -
1.6.1 转换.................................................................................................... - 15 -
1.6.2 任务............................................................................................... - 16 -
6.1. 描述...................................................................................................... - 24 -
6.1.1 转换连接........................................................................................ - 25 -
京 数据库浏览器(Database Explorer) ......................................................................... - 23 南5.1. 截图...................................................................................................... - 23 -
Kettle用户操作手册1(汇编)

Kettle⽤户操作⼿册1(汇编)Kettle⽤户操作⼿册1.kettle介绍1.1 什么是kettleKettle是“Kettle E.T.T.L. Envirnonment”只取⾸字母的缩写,这意味着它被设计⽤来帮助你实现你的ETTL 需要:抽取、转换、装⼊和加载数据;它的名字起源正如该项⽬的主程序员MATT所说:希望把各种数据放到⼀个壶⾥然后以⼀种指定的格式流出。
Spoon是⼀个图形⽤户界⾯,它允许你运⾏转换或者任务。
1.2 Kettle 的安装要运⾏此⼯具你必须安装 Sun 公司的JAVA 运⾏环境1.4 或者更⾼版本,相关资源你可以到⽹络上搜索JDK 进⾏下载,Kettle 的下载可以到/doc/769264091.html/取得最新版本。
1.3 运⾏SPOON下⾯是在不同的平台上运⾏Spoon 所⽀持的脚本:Spoon.bat: 在windows 平台运⾏Spoon。
Spoon.sh: 在Linux、Apple OSX、Solaris 平台运⾏Spoon。
1.4 资源库⼀个Kettle资源库可以包含那些转换信息,这意味着为了从数据库资源中加载⼀个转换就必须连接相应的资源库。
在启动SPOON的时候,可以在资源库中定义⼀个数据库连接,利⽤启动spoon时弹出的资源库对话框来定义,如图所⽰:单击加号便可新增;关于资源库的信息存储在⽂件“reposityries.xml”中,它位于你的缺省home ⽬录的隐藏⽬录“.kettle”中。
如果是windows 系统,这个路径就是c:\Documents and Settings\\.kettle。
如果你不想每次在Spoon 启动的时候都显⽰这个对话框,你可以在“编辑/选项”菜单下⾯禁⽤它。
admin ⽤户的缺省密码也是admin。
如果你创建了资源库,你可以在“资源库/编辑⽤户”菜单下⾯修改缺省密码。
1.5 定义1.5.1 转换主要⽤来完成数据的转换处理。
Kettle配置使用说明

Kettle配置使用说明Kettle配置使用说明1.文件结构1.1 kettle4.0.1该文件夹存放的是kettle4.0.1的桌面应用程序,/kettle4.0.1/Spoon.bat是运行软件的一个批处理文件,双击运行。
1.2 workspace该文件夹存放的是以各个警种总队全拼命名的分别存放.ktr文件和.job文件的文件夹。
Start.job是一个启动总纲。
1.3 script该文件夹是存放的数据库建库脚本,目前是oracle10g版本1.4 model存放的是powerDesign的cdm概念模型文件用于根据需要生成pdm和script。
2.文件路径配置本系统使用的都是系统所在路径的相对路径,不管处于什么目录下都请将kettle4.0.1和workspace的文件夹放在同一目录之下。
当然你可以随意改变文件夹的名称。
3.运行环境配置先运行一次/kettle4.0.1/Spoon.bat,Linux就不说了,如果你用的是windows系统,那么你可以在/${userhome}/.kettle下找到一个.kettle的文件夹主要说下:Response.xml-记录资源库信息(自己去勾)Kettle.property-这是好东西,可以让你在软件中任何可以使用到环境变量的地方使用到里面的配置信息(键-值对配置),类似全局变量。
当然是有利有弊,配置点什么数据库连接和一些常用的东西之外别把那里当仓库,想下全局变量定义的多了会给系统带来什么风险。
A_fileInput=file:///E:/Test_Server/srcFile/A_fileOutput=file:///E:/Test_Server/errFile/这2个属性是配置读取的Excel文件和输出错误的Excel文件用到的路径配置。
由于文件名命名的差异和存放位置的不同需要使用者自行配置。
有在系统内修改文件路径的风险,当然这是没有办法避免的,只能在项目初期和用户有这方面的约定俗成。
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下载地址:/doc/209c62d476a20029bd642d26.html /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 过滤记录组件条件:输⼊条件。
KETTLE简单使用说明文档

KETTLE简单使用说明文档1. 下载和安装要运行此工具你必须安装SUN 公司的JAVA 运行环境 1.4 或者更高版本,相关资源你可以到网络上搜索JDK 进行下载。
设置JAVA 运行环境变量,JAVA_HOME 和PATHKETTLE 的下载可以到/取得最新版本,下载后解压,就可以直接运行。
2.kettle主要有两部分组成,主对象树,核心对象,3.新建一个kettle文件(数据库之间做处理)1)转换右键点击新建,如图所示2) 设置数据库连接,上图DB连接右键新建(支持多库连接): 如图:3)核心对象里面有很多组件,通过拖拽来供给我们做操作,如图4)添加一个源输入,打开输入文件夹,可以看到各种输入类型,支持文件,数据库等。
如图5)这里通过数据库操作,那我们这里拖拽一个表输入组件6)双击打开,可以看到你可以选择上面连接的数据库,然后通过获取sql语句来选择你要输入的源表进行操作。
并且sql语句支持传递变量参数和占位符参数,以及多表关联sql。
如下图7)输入表已经OK,那输出表呢,那我看下输出组件。
如图8)选中两个组件,右键新建节点连接。
如下图9)双击打开表输出,选择输出的数据库,以及目标表和输入表与目标表的字段映射10)映射选择以及匹配11)点击箭头弹出启动界面,点击启动,该kettle文件即可执行数据的迁移了12)上面是一个简单的数据库转换操作。
在表输入和表输出直接可以加不同组件对数据进行筛选过滤。
通过转换文件夹下的组件。
如图转换可以处理中文乱码,字段数字的计算,值的转换,序列的生成等等脚本可以用java代码,javascript,sql脚本等等查询支持调用存储过程,两个表直接关联查询等等以上只是针对kettle工具的简单实用介绍。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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建立数据库连接,输入相应信息测试,成功即可
图4
5转换具体设置,如图4,‘表输出’至‘文本文件输出’流程跳接线为错误处理步骤,当输出格式不能满足表输出的目的表结构类型时,将会将记录输出到‘文本文件输
出’中的记录中。
5.1双击‘表输入’,输入相应的SSQL语句,选择配置数据库连接,或新增,预览
查询生成的结果(如果数据库配置中使用变量获取,此处预览生成错误)。
5.2双击‘表输出’,选择数据库连接,‘浏览’选择相应目标表,(此处‘使用批量
插入’勾选去除,目的是在错误处理步骤中无法使用批量处理,可能是插件兼
容问题)
6表输出插件定义
a) Target Schema:目标模式。
要写数据的表的Schema的名称。
允许表明中包含“。
”对数据源
来说是很重要的
b) 目标表:要写数据的表名。
c) 提交记录数量:在数据表中用事物插入行。
如果n比0大,每n行提交一次连接。
否则不使用
事务,速度会慢一些。
d) 裁剪表:在第一行数据插入之前裁剪表。
e) 忽略插入错误:使Kettle忽略比如违反主键约束之类的插入错误,最多20个警告将被日志记
录。
在批量插入的时候这个功能不可用。
f) 使用批量插入:这个选项速度快,默认被选上。
g) 表分区数据:使用这个选项可以在多个表之间拆分数据。
例如把数据放到表s1、s2、s3中来
代替直接插入数据到表s中。
h) 例如:create or replace view sales as
1. Select* from sales_200501
2. Unionall
3. Select* from sales_200502
i) 表名定义在一个字段里:使用此选项可以拆分数据到一个或者多个表里,目标表名可以用你指
定的字段来定义。
例如:如果你想存储客户性别数据,这些数据可能会存储到表M和表F里
面。
这个选项可以阻止这些字段插入到相应的表里。
j) 返回一个自动产生的关键字:往表中插入行时,是否产生一个关键字。
k) 自动产生关键字的字段名称:指定包含关键字的输出字段的字段名称。
7执行任务,
Windos:bat批处理文件,
Linux:sh批处理文件,
Kitchen——作业执行器是一个作业执行引擎,用来执行作业。
这是一个命令行执行工具,没啥可讲的,就把它的参数说明列一下。
-rep : Repository name 任务包所在存储名
-user : Repository username 执行人
-pass : Repository password 执行人密码
-job : The name of the job to launch 任务包名称
-dir : The directory (don''t forget the leading / or \)
-file : The filename (Job XML) to launch
-level : The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别-log : The logging file to write to 指定日志文件
-listdir : List the directories in the repository 列出指定存储中的目录结构。
-listjobs : List the jobs in the specified directory 列出指定目录下的所有任务
-listrep : List the defined repositories 列出所有的存储
-norep : Don''t log into the repository 不写日志
嗯,居然不支持调度。
看了一下文档,建议使用操作系统提供的调度器来实现调度,比如:Windows 可以使用它的任务计划工具。
Linux使用crontab服务。
Kettle定时功能。
在Job下的start模块,有一个定时功能,可以每日,每周等方式进行定时,对于周期性的ETL,很有帮助。
a.使用资源库(repository)登录时,默认的用户名和密码是admin/admin。
b.当job是存放在资源库(一般资源库都使用数据库)中时,使用Kitchen.bat执行job 时,需使用如下的命令行:
Kitchen.bat /rep kettle /user admin /pass admin /job job名
c.当job没有存放在资源库而存放在文件系统时,使用Kitchen.bat执行job时,需使用如下的命令行:
Kitchen.bat /norep /file user-transfer-job.kjb
d.可以使用命令行执行job后,就可以使用windows或linux的任务调度来定时执行任务了
e.如果出现异常语句,
Unexpected error during transformation metadata load
No repository defined!
请按上面的操作排除。
8
9
10
11
12
13。