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工具的简单实用介绍。
KETTLE使用说明
KETTLE使用说明在本使用说明中,我们将详细介绍如何使用KETTLE完成一些常见的数据处理任务。
第一步:安装和启动KETTLE在Windows中,双击运行Spoon.bat文件来启动KETTLE。
在Linux 和Mac OS中,打开终端,进入KETTLE目录,输入"./spoon.sh"命令来启动KETTLE。
第二步:创建一个新的数据流程启动KETTLE后,您将看到一个图形化界面。
在左上角的工具栏中,有一个新建按钮,点击它来创建一个新的数据流程。
在创建数据流程时,您需要为其指定一个名称。
完成后,点击确定按钮。
第三步:添加数据源在左侧的工具箱中,您可以找到各种组件,如输入步骤、输出步骤、转换步骤等。
为了演示,我们先添加一个输入步骤。
在工具箱中,找到输入步骤,并将其拖放到主界面中。
然后,双击该步骤,在弹出的对话框中配置数据源。
在配置对话框中,您需要指定数据源的类型,如文本文件、Excel文件、数据库等。
根据不同的类型,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
在数据流程中,您可以使用转换步骤对数据进行处理。
为了演示,我们使用一个简单的转换步骤来删除重复的数据。
在工具箱中,找到去重复步骤,并将其拖放到已添加的输入步骤的下方。
然后,双击该步骤,在弹出的对话框中配置参数。
在配置对话框中,您需要指定要去重的字段。
您可以选择多个字段以进行复合去重。
完成配置后,点击确定按钮。
第五步:添加输出在数据流程中,您也需要指定一个输出步骤来保存处理后的数据。
在工具箱中,找到输出步骤,并将其拖放到已添加的去重复步骤的下方。
然后,双击该步骤,在弹出的对话框中配置输出格式和目标文件。
在配置对话框中,您需要指定输出的格式,如文本文件、Excel文件、数据库等。
根据不同的格式,您可能需要提供相应的连接信息。
完成配置后,点击确定按钮。
第六步:保存和运行数据流程完成对数据流程的配置后,点击工具栏中的保存按钮来保存数据流程。
kettle使用手册
Spoon.bat修改在set opt=*最后"-Dfile.encoding=UTF-8",解决乱码问题表输入替换SQL语句中的变量:变量用‘?’ 表示从步骤中插入数据:这个组件之前的流程名称新建/编辑Wizard(向导)填写数据库连接名称(选择数据库连接类型和数据库访问类型)NEXT端口号默认NEXT点击测试数据库连接获取SQL查询语句选择表或者视图,确定也可以自定义SQL语句.预览查询查询所需关键字:字段1为流入字段查询返回的值:字段为数据库表字段,可以起个别名,类型不选可能导致跨库乱码获取查询关键字:流入的所有字段获取返回字段:所选数据库表所有字段Switch/CaseSwitch字段:流入的字段Case值数据类型:视情况而定Case值:此处为空时-转到-查询DEPT_CODE 默认目标步骤(default):自定义流程,如图字段选择移除:移除流入字段元数据:修改元数据字段选择和修改:如果指定了移除和元数据就不能选择列映射增加常量添加一列到元数据流中设置字段值替换流字段的值表输出主选项默认不是临时表的话,千万不要选中剪裁表,这个用于删除表中的数据勾选’指定数据库字段’后才能操作’数据库字段面板’提交记录数量:每次批处理的数量,一批对应一个事务输入字段映射不要随便点’猜一猜’空操作什么也不做删除查询所需的关键字:删除的条件插入/更新不推荐使用比较流中和数据库表的值,不同则更新编辑映射:同表输出字符串替换过滤两个或以上中文并设置为空串去除重复记录注意:去除的记录要排序,否则只去除连续的值行扁平化详解:/Document/detail/tid/73025Access输入选择mdb格式文件,支持正则过滤Kettle增量更新/s/blog_6d35752501015dtm.html 获取系统信息类型预览记录计算器如下是移除元数据流字段,新数据流加负号Kettle变量(1)名称对应参数值:可以写SQL函数,比如sysdate+1,to_date()等相对应的变量名(2)位置对应参数获取系统信息此处添加两个变量作为增量的值设置变量变量活动类型:2)通过属性文件(常用)在C:\Users\${userName}\.kettle\kettle.properties中添加变量(key=value)Java Virtual Machine:S系统级作用域,凡是在一个java虚拟机下运行的线程都受其影响。
kettle使用教程(超详细)
01
3. 运行Kettle启动脚本(spoon.sh或 spoon.bat),启动Kettle图形化界面。
03
02
2. 配置Java环境变量,确保系统中已安装Java 并正确配置了JAVA_HOME环境变量。
04
4. 在Kettle界面中,配置数据源和数据目标 连接信息。
5. 创建ETL任务,拖拽组件进行连接和配置。
实战演练
以一个具体的数据迁移任务为例,详细介绍如 何使用Kettle实现ETL过程的自动化。
案例二:数据仓库建设实践
数据仓库概念介绍
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支 持管理决策。
Kettle在数据仓库建设中的应用
Kettle提供了丰富的数据转换和处理功能,可以方便地实现数据仓库的建模、数据抽取、 清洗和加载等任务。
它支持多种数据源和数据目标,包括关系型数据库、文 件、API等。
Kettle提供了图形化界面和易用的组件,使得用户可以方 便地进行数据集成和处理。
Kettle特点与优势
图形化界面
Kettle提供了直观的图形化界 面,使得用户可以轻松地构建 ETL任务。
灵活性
Kettle支持自定义组件和插件, 用户可以根据自己的需求进行 扩展。
03
实战演练
以一个具体的实时数据处理任务为例, 介绍如何使用Kettle设计实时数据处理 流程。
案例四:Kettle在数据挖掘中应用
数据挖掘概念介绍
01
数据挖掘是指从大量数据中提取出有用的信息和知识的
过程,包括分类、聚类、关联规则挖掘等任务。
Kettle在数据挖掘中的应用
02
Kettle提供了丰富的数据处理和转换功能,可以方便地
Kettle使用手册及测试案例
一、【kettle】window安装与配置1、下载kettle包,并解压2、安装jdk,并配置java环境a).打开我的电脑--属性--高级--环境变量b).新建系统变量JA V A_HOME和CLASSPATH变量名:JA V A_HOME变量值:C:\Program Files\Java\jdk1.7.0[具体路径以自己本机安装目录为准]变量名:CLASSPATH变量值:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;c). 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。
变量名:Path变量值:%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin;3、配置kettle环境在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:\kettle\data-integration4、启动spoonWindows直接双击批处理文件Spoon.bat具体路径为:kettle\data-integration\Spoon.batLinux 则是执行spoon.sh,具体路径为:~/kettle/data-integration/spoon.sh二、使用Kettle同步数据同步数据常见的应用场景包括以下4个种类型:➢ 只增加、无更新、无删除➢ 只更新、无增加、无删除➢ 增加+更新、无删除➢ 增加+更新+删除只增加、无更新、无删除对于这种只增加数据的情况,可细分为以下2种类型:1) 基表存在更新字段。
通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。
2) 基表不存在更新字段。
通过“插入/更新”步骤进行插入。
插入/更新步骤选项:只更新、无增加、无删除通过“更新”步骤进行更新。
kettle操作步骤
目录一、Kettle简介 (1)二、Kettle的使用 (1)2.1启动kettle (1)2.2创建转换(transformation) (2)2.3表输入详解: (6)2.4插入/更新详解: (10)三、创建作业(job) (11)一、Kettle简介Kettle是一款开源纯java编写的数据抽取工具,高效稳定、绿色无需安装,可以在Window、Linux、Unix上运行。
二、Kettle的使用2.1启动kettle无需安装,直接双击pdi_kettle中的“Kettle.exe”即可;如果提示输入用户名密码,可以直接点击“没有资源库”按钮,等稍后再建立资源库;如下次打开不希望启动此欢迎页面可将“启动时显示这个对话框”前的勾选去掉2.2创建转换(transformation)1、如下图,先创建一个转换,名称默认为“转换1”,可以在保存时选择保存路径并修改其名称2、选择输入,最常用的输入是“表输入”、“文本文件输入”和“Excel输入”;直接将需要的输入拖拽到右侧的转换中3、选择输出,常用的输出有“插入/更新”、“文本文件输出”、“表输出”和“Excel Output”,同样是以拖拽的方式将选择的输出放到右侧合适的位置4、建立节点连接(hops)可以同时按着shift和鼠标左键在图形界面上拖拉,也可以同时选中需要建立连接的两个步骤右键新建连接、确定即可5、异常处理,有时候在执行某些步骤如插入、删除操作时会出错,这时候需要异常处理;一般会选择调用存储过程来记录异常定义过“错误处理”后可以进行“调用DB存储过程”所需要连的数据库、调用的存储过程、参数以及返回值的设置注意:参数的顺序必须与调用的存储过程或函数的顺序一致2.3表输入详解:至此一个简单的转换已经搭起来了,其中表输入是用来从数据库中抽取数据的,里面主要是查询数据的SQL,尽量给每个字段取别名,别名与将要插入的表中的字段名对应。
由于要读取数据库所以首先要与资源库建立连接1、如下图所示,创建资源库连接:在主对象树中双击DB连接,根据具体情况选择合适的数据库和连接方式并填写连接名、IP、端口、用户名、密码等信息2、表输入,注意事项如下图所示3、给表输入的SQL传参,可用输入中的“文本文件输入”或“生成记录”进行传参“文本文件输入”需要将参数和值写入文本文档中,然后通过浏览找到该文档并增加到选中的文件中;文本文件输入一定不要忘了获取字段另外有时候还要对内容进行设置,比如是否包含头部等下面是包含头部时文本的写法“生成记录”可直接将需要的参数作为字段填入其中,注意”限制”可理解为”字段”的重复使用次数(待确认)2.4插入/更新详解:插入/更新,顾名思义,就是用来执行插入或更新操作的,我们可以通过设置来只执行插入或执行插入和更新,由于只更新有单独的一个控件可以完成,故这个控件无此功能。
kettle使用文档
Kette目录1、输入 (2)1.1 文本输入 (2)1.2 表输入 (3)2、输出 (3)2.1 文本输出 (3)2.2)输出表 (3)3、连接 (5)3. 1 “Merge” (5)3.2 Sorted Merge (5)3.3 合并记录 (7)3.4 (8)4、转换 (10)4.1)split field to rows (10)4.2)去掉重复记录 (11)4.3 增加常量 (11)4.4 增加序列 (12)4.5 字段选择 (12)4.6)拆分字段 (13)4.7 排序记录 (14)4.8 换转列 (14)4.9)计算器 (15)4.10)值映射 (16)4.11)number range (17)5、flow (19)5.1)switch/case (19)5.2)过滤记录 (20)6、statistics (21)6.1)分组 (21)7、Uitlity (22)7.1)If field value is null (22)7.2)Null if... .. (24)8、查询 (25)8.1)Check if a column exists (25)8.2 File exists (26)8.3)Table exists (27)8.4 数据库查询 (28)8.5 数据库连接 (30)8.6 流查询 (31)9、脚本 (33)9.1) Modified Java Script Value (33)9.2)执行SQL脚本 (34)9.3 Regex Evaluation (35)1、输入1.1 文本输入:就是程序读取文本文件里边的东西,我现在用到的是自己到处去的文件。
给拉出来的文本起名文件卡里边先浏览选着自己用到的文本,点击添加,选中的文件会到“选中的文件”框里边图中的“1”就是我选中的文件之后点击“字段卡”在下边有个“”点击它会出现你导出时候的字段名称,下边有“”可以查看里边的记录1.2 表输入“编辑”就是选着数据库“获得sql查询语句”就是得到数据,下边可以预览然后会出现在你可以对语句进行编辑,去掉你不要的字段,或者加条件去掉的字段不会在导出的文件中出现,2、输出2.1 文本输出“步骤名称”是给选着的文本文件的加名字的“文件卡”中的“浏览”中是选着文本输出的地方和起名字的“字段卡”点击这个你会看见下边有“获取字段”这个是得到输出的字段的名称,默认的是全部输出2.2)输出表“步骤名称”kettle起名用的“数据库连接”是选着数据库“编辑”是修该数据库“目标表”是选着存入的表“Specify datebase fileds”挑勾它说明说上说选没说为什么“Datebase fileds卡”中点击“enter filed mapping”第一个文本框是读进来的表的字段第二个文本框是写数据库中的字段第三个是他们的对应关系在这你可以选择自己要的字段然后点add(注意数据库表的字段类型一定要一样,要不报错,你也可以选择guess ,这个是根据字段的名字去猜,如果你的字段类型不一样,报错,出现在第三个文本框中的才是写如表的字段3、连接3. 1 “Merge”“第一个步骤”选择导入的“输入表”或“输入文件”“第二个步骤”选择导入的“输入表”或“输入文件”“连接类型”是内连接外连接做连接有连接。
KETTLE使用说明(中文版)
7.0 Flow : 空操作(什么也不做)
这个操作说明都不做,它的主要作用是,在你想做测试的时候,充当一个占位符。
7.1 Flow : 过滤记录
这个步骤根据条件和比较符来过滤记录。 发送true数据给步骤: 指定条件返回true的数据将发送到此步骤 发送false数据给步骤: 指定条件返回false 的数据将发送到此步骤。 True 和false 步骤必须指定。
1.2 安装kettle 要运行Kettle ,必须按安装java 环境1.4或以上版本,kettle下载可以到: 取得最新版本。(pdi-ce-4.0.1-stable.zip) 1.3 运行spoon 下面是不同平台上运行spoon 所支持的脚本 : spoon.bat windows 平台运行Spoon. Spoon.sh linux 平台运行Spoon. 1.4 资源库 一个Kettle 资源库可以包含那些转换信息,这意味着为了从数据资源中加载一个转 换,你必须连接相应的资源库。
连接名称 : 选择数据库序列存在的 连接名称 序列名称: 数据库序列的名称 使用计数器来计算序列: 如果想使用kettle生成的 序列,使用此项。
计数器名称(可选):如果一个转换中多个步
骤生成同样的值名称,这个选项允许你指定计数 器的名称,避免按照先后顺序通过多个步骤。 起始值: 序列的起始值 增量 : 序列的增量 最大值 : 序列的最大值,如果超过,将重新开始
1.6.2 任务 1. Job Entry : 一个 一个Job Entry 是一个任务的一部分,它执行某些内容。 是一个任务的一部分,它执行某些内容。 2. Hop: 一个 一个Hop 代表两个步骤之间的一个或者多个数据流。一个 代表两个步骤之间的一个或者多个数据流。一个Hop总是代 总是代 表着两个Job Entry 之间的连接,并且能够被原始的 之间的连接,并且能够被原始的Job Entry设置,无 设置, 表着两个 设置 条件的执行下一个JobEntry,直到执行成功或者失败。 直到执行成功或者失败。 条件的执行下一个 直到执行成功或者失败
Kettle开发使用手册
Kettle开发使用手册2017年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 选项,按确定,如图2.1所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图2.2所示:图2.2建完后会kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。
在连接到资源库的情况下打开文件就是资源库所在目录了,如图2.3所示。
Kettle开发使用手册
Kettle 开发使用手册Kettle 开发使用手册2 0 1 7 年 4 月版本历史说明版本作者日期备注1.0彭伟峰2017.04.111. 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开发环境也是要用到该资源库。
建立资源库的方式是工具-->资源库- ->连接资源库,这时候弹出一个窗口,我们点击右上角的“+”号,跟着点击下面的kettlefile repository选项,按确定,如图 2.1 所示:图2.1跟着在右上角选择一个目录,建议在kettle路径下新建repository文件夹,再选择这个文件夹作为根目录,名称和描述可以任意写,如图 2.2 所示:图2.2建完后会 kettle工具会自动连接到repository资源库,每次打开kettle 也会弹出一个窗口让你先连接到资源库。
kettle使用说明(简版)
Kettl e使用说明简版1、文档说明本文档主要介绍我们实际应用中使用Kettle工具来开发ETL过程的相关说明,内部文档,仅供参考.2、ETL流程图3、关键操作介绍3.1创建资源库[对象位置]:登陆界面[实现功能]:配置存储相关转换、任务及相关附属信息的数据库[操作说明]:1)进入登陆界面:2)点击新建按钮,进入配置界面,填写相关信息3)填写完毕,可测试是否成功,成功后,进入如下界面,点创建或更新4)创建完毕可用资源库用户登录Kettle,默认用户名,密码:admin/admin[备注]:我们一般建立一个独立的数据库用户,专门存储Kettle相关信息,资源库就连接在这个数据库用户上3.2创建转换[对象位置]:文件〉〉新建〉〉转换[实现功能]:将库A的表A1中的数据经过一定转换,插入到库B的表B1[操作说明]:1)新建一个转换2)将“核心对象〉〉输入〉〉表输入”拖到转换设置面板3)双击“表输入”,进入脚本编辑界面:本界面可以设置数据库连接,点“新建”可以创建一个新的数据库连接,点“编辑”更改数据库连接,然后编辑好相关提取语句:4)将“核心对象〉〉输出〉〉表输出”拖到转换设置面板5)双击“表输出”,进入脚本编辑界面:本界面需要选择数据转入目标表的数据库连接,以及目标表的表名称,如果数据量比较大的话,可以设置每次提交的数据量6)将表输入和表输出连接:按住shift,鼠标从“表输入”拖到“表输出”,如图:7)该转换编辑成功,可以保存并执行测试[保存]:[执行]:8)执行成功后便可以编辑其它转换,过程类似[备注]:1)编写的SQL语句的字段别名要与数据转入的目标表的字段名称一致;2)语句最后不能有标点;3)若SQL中有参数的话,需要将“替换SQL语句中的变量”选中;4)转换前可以执行一些脚本比如:将“脚本〉〉执行SQL脚本”拖入,并连接即可,双击可编辑SQL(需要有分号,若更新库则需要提交)3.3创建任务[对象位置]:文件〉〉新建〉〉任务[实现功能]:将多个操作串行合并,形成一个整体任务,其中的操作可以是转换、任务、脚本等等[使用说明]:1)新建一个任务2)拖入几个任务对象,可以是转换、任务、脚本等,并连接,如图:3)双击相关对象进行编辑,需要选择已经建立好的转换(任务名称)名称4)所有中间步骤的对象都已设定好以后,保存任务,执行测试任务[备注]:任务中各对象执行,以前一对象成功执行为前提,若任务里,包含多个子任务,如果各任务之间相互独立,可以在子任务中拖入“success”对象,否则当母任务中某一对象执行失败,则任务停止。
Kettle使用手册及测试案例
一、【kettle】window安装与配置1、下载kettle包,并解压/projects/data-integration/2、安装jdk,并配置java环境a).打开我的电脑--属性--高级--环境变量b).新建系统变量JA V A_HOME和CLASSPATH变量名:JA V A_HOME变量值:C:\Program Files\Java\jdk1.7.0[具体路径以自己本机安装目录为准]变量名:CLASSPATH变量值:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;c). 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。
变量名:Path变量值:%JA V A_HOME%\bin;%JA V A_HOME%\jre\bin;3、配置kettle环境在系统的环境变量中添加KETTLE_HOME变量,目录指向kettle的安装目录:D:\kettle\data-integration4、启动spoonWindows直接双击批处理文件Spoon.bat具体路径为:kettle\data-integration\Spoon.batLinux 则是执行spoon.sh,具体路径为:~/kettle/data-integration/spoon.sh二、使用Kettle同步数据同步数据常见的应用场景包括以下4个种类型:➢ 只增加、无更新、无删除➢ 只更新、无增加、无删除➢ 增加+更新、无删除➢ 增加+更新+删除只增加、无更新、无删除对于这种只增加数据的情况,可细分为以下2种类型:1) 基表存在更新字段。
通过获取目标表上最大的更新时间或最大ID,在“表输入”步骤中加入条件限制只读取新增的数据。
2) 基表不存在更新字段。
通过“插入/更新”步骤进行插入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Kettle培训手册
Etl介绍
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于金融IT来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
kettle部署运行
将kettle2.5.1文件夹拷贝到本地路径,例如D盘根目录。
双击运行kettle文件夹下的spoon.bat文件,出现kettle欢迎界面:
稍等几秒
选择没有资源库,打开kettle主界面
创建transformation,job
点击页面左上角的解并到本地路径,例如保存到D:/etltest下,保存文件名为EtltestTrans,kettle默认transformation 文件保存后后缀名为ktr
点击页面左上角的解并到本地路径,例如保存到D:/etltest下,保存文件名为EtltestJob,kettle默认job文件保存后后缀名为kjb
创建数据库连接
在transformation页面下,点击左边的【Main Tree】,双击【DB连接】,进行数据库连接配置。
Connection name自命名连接名称
Connection type选择需要连接的数据库
Method of access选择连接类型
Server host name写入数据库服务器的ip地址
Database name写入数据库名
Port number写入端口号
Username写入用户名
Password写入密码
例如如下配置:
点击【test】,如果出现如下提示则说明配置成功
点击关闭,再点击确定保存数据库连接。
一个简单的ktr例子
目标:
从交易表(trade),帐户表(account),客户表(cust)抽数交易相关的所有信息,并判断对公对私分别进行处理,输出到文本文件中。
操作步骤:
在EtltestTrans页面下,点击左侧的【Core Objects】,点击【Input】,选中【表输入】,拖动到主窗口释放鼠标。
点击左侧的【Lookup】,选中【数据库查询】,拖动到主窗口释放鼠标。
步骤名称写入account表查询,数据库连接选择刚刚创建好的etltest数据库连接,查询的表写入account,查询所需的关键字中,表字段写入acctno,比较操作符写入“=”,字段1写入acctno。
在查询表返回的值里面写入custno,确定完成。
同上,再创建一个数据库查询,命名为cust表查询,查询的表写入cust,查询所需的关键字写入custno=custno,查询表返回的值写入custname,custid,custtype
点击左侧的【Transform】,选中【过滤记录】,拖动到主窗口释放鼠标。
在发送true数据给步骤里,选择【对私类型修改】,在发送false数据给步骤里,选择【对公类型修改】,确定保存。
双击【对公类型修改】,在里面写入javascript脚本语句
var custtype_cn='对公客户交易'
在字段中写入custtype_cn,类型选为string。
确定。
同理,在【对私类型修改】中,在里面写入javascript脚本语句
var custtype_cn='对私客户交易'
在字段中写入custtype_cn,类型选为string。
确定。
点击左侧的【Transform】,选中两个【增加常量】,拖动到主窗口释放鼠标。
分别双击打开,重命名为“增加对公常量”和“增加对私常量”。
分别建立【对公类型修改】和【对私类型修改】与【增加对公常量】和【增加对私常量】的连接
双击【增加对公常量】,名称写入value,类型选择string,值写入“这是一笔对公客户发生的交易”,确定保存。
同理,双击【增加对私常量】,名称写入value,类型选择string,值写入“这是一笔对私客户发生的交易”,确定保存。
点击左侧的【Output】,选中【文本文件输出】,拖动到主窗口释放鼠标。
建立【增加对公常量】,【增加对私常量】和【文本文件输出】的连接。
双击打开【文本文件输出】,文件名称写入D:\etltest\etltest.txt
点击内容标签,根据情况进行修改,例如
点击字段标签
名称依次写入tradeid,acctno,amt,custno,custname,custid,custtype_cn,
value,类型根据各个字段实际类型进行选择
确定保存
点击
运行这个转换。
点击launch,开始运行
当所有状态都变成已完成时,则转换完成。
另一个简单的ktr例子
目的:
将上一个ktr生成的文本导入到数据库中。
操作步骤:
创建一个transformation,命名为EtltestTransfile2db.ktr,创建数据库连接etltest,点击【Input】,选中【文本文件输入】,拖到主窗口,释放鼠标,双击打开
文件名称里面写入D:\etltest\etltest.txt
点击内容标签,分隔符写入@@,将头部的钩去掉
custtype_cn,value,类型根据各个字段实际类型进行选择
点击【Transform】,选中【字段选择】,拖到主窗口,释放鼠标
点击【Output】,选中【表输出】,拖到主窗口,释放鼠标
建立【文本文件输入】和【字段选择】与【字段选择】和【表输出】的连接
双击【表输出】,目标表中写入trade_all,提交记录数量写成1,确定保存。
双击【字段选择】,点击获取选择的字段,再点击Edlt Mapping,点击OK 确定,编辑所有字段对应关系,点确定。
点击
双击第一个【Transformation】,在Transformation filename中写入D:\etltest\EtltestTrans.ktr,确定保存。
同时将另外一个【Transformation】,路径指向D:\etltest\EtltestTransfile2db.ktr,保存。
点击
运行这个转换。
待所有任务都显示成功,则为job调用transformation运行成功。