kettle工具使用文档.docx

上传人:牧羊曲112 文档编号:4885800 上传时间:2023-05-21 格式:DOCX 页数:31 大小:1MB
返回 下载 相关 举报
kettle工具使用文档.docx_第1页
第1页 / 共31页
kettle工具使用文档.docx_第2页
第2页 / 共31页
kettle工具使用文档.docx_第3页
第3页 / 共31页
kettle工具使用文档.docx_第4页
第4页 / 共31页
kettle工具使用文档.docx_第5页
第5页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《kettle工具使用文档.docx》由会员分享,可在线阅读,更多相关《kettle工具使用文档.docx(31页珍藏版)》请在三一办公上搜索。

1、目录1. Kettle工具的组成22. kettle 工具的运彳亍23. 资源库的设置34. 转换的创建与使用84.1 创建一个新的装换84.2 DataGird94.3 Write to log 控件104.4 表输入控件134.5 字段选择控件144.6 表输出控件154.7 插入/更新控件174.8 转换中变量的设置184.9 变量的使用194.10 步骤的错误处理194.11 flow控件的使用204.11.1 Switch/Case 控件204.11.2 Blocking Step 控件214.11.3 Indentify last rowin a stream 控件224.11.4

2、 过滤记录控件234.11.5 空操作控件234.11.6 Abort 控件245. 作业(job)的创建及使用245.1 创建一个新的作业245.2 START 控件255.3 Success 控件255.4 Transformation控件255.5 变量设置265.6 Js脚本使用275.7 空操作控件271. Kettle工具的组成Kettle主要由资源库、数据库、作业(job)、转换、步骤五部分组成,资源库是用 来存储用户所编写的作业和转换(即kjb文件和ktr文件),一般是在数据库中存储,方 便用户的查找和使用。数据库就是处理数据是需要的数据库。作业是用来确定一个工程 中需要使用的

3、转换和转换的执行顺序。转换是数据在ktr文件中的具体转换过程,类似 于Java的一个方法,而作业就类似于java的一个类,它可以调用各种不同的方法(转换)。 步骤是kettle最小的执行单位。2. kettle工具的运行1)在电脑中安装jdk并配置java运行环境(jdk版本建议是1.6或以上版本)2)Kettle工具的下载:可以在http:/kettle.pentaho.org中下载最新的版本,此文档所使用的是kettel-4.1.0的版本3)Kettle工具的运行:在Windows系统下运行,只需要解压kettle文件后,双击data-integration文件夹中的Spoon.bat文件

4、也可开1 i2O1(V11/17 5ldSEH女姆3 KB陶 Eflcr.tuat2010/11/17 5ldP3 KB1 i e*icri5h2010/11/17 5 d9SH2 KBI | gc-ne-rustch-5*12010/11/17EH 立2 KB圈 KJtchen.bdi2010/11/17 3149Windows助地理”,4 KBi Idichen.shJOia/ll/lT1 5.49EH室a KB2D1Q/11/17 S:4QWindom PfcEh.4 KE.pan.ah2010/11/17 Si4QH立件3 KB.KtALjrit_irMruEKLiii-i i .tx

5、t2010/11/1.7.k串.由横1 KBL| README.LIHUh.brt2010/11/17 S:W。1 KB.README_Oi;K. rwn.kptfk.cluster.flXBrnple.kHrt2010/liyl? S:49W induwi !tt 融班1 KB1 1 runSaiTiples.sh201W11/17 况占9SH1 KB s-el-pentaho-err bat20HV1V17 瓦崩J KBi s-pe-nt3ho-erY-5ln20KW11/17 期mSH宝程4 KB3) Spoor bdi2010/11/17 罚而Wlndoiftis 毗jlta”d KB

6、O Ppg瓦IE20101/17 5 4S圈晦ai kbs-pociipg2010/11/17 5 d5ACDEee PNG 罔幡3 KB2UL0/11/17 5.49EHft4 KB1I ee卜昵快t2D 11/4/3 B.45X-&X*12 KBHETft2D11W3D 11:41nicrnt方支1 KB在Linux下运行则双击data-integration文件夹中的Spoon.sh文件立 Site6?IB下魅BE*最汪昉间的位旦省EI:ZA2SE图片*迅函下贩&痢软样CD:ji 1 (F:Jcarte jih陶Eficr.tuicI l eficr-shgeneiateClijsier

7、SizheiTid.sl-iESI Idiche-n.baTI ; Idtcben.slhi陶 Fan.tuT|_2 ipHFLsh3 IREAEHME_NFaBRGHT.k3X;1 IREAEHME_LlNUX.txt3 IREAEHME_OSX.tl3 IREAEHME.UIM IX_AE4OD.tlRE1 ruri_kfittlA_clucRAi_4jiiamplc.bat runEiamplHB. ah=.rsvi-FnMl*iDfnvi.Xj;初 Spac-n.lsHtip-s-sn.icanpoan.png_: ipoonii-KTTSET&mN西西下耍MS日寐妍大小20W11/1

8、7 51493艰ZO11/11/17 149Windows 世毒3 KBZO11/11/17 149件2 KBZO11/11/17 149SH3t4*2 KBZO11/11/17 149Windows 世毒4 KBZO11/11/17 1495H3t件3 KBZO11/11/17 149Windows 世毒4 KBZDia/11/173 KBZDia/11/17 g。1 KBZDia/11/17 g。1 KBZDia/11/17 g。2 KBZDia/11/17 g。1 KBZDia/11/17Wlrtdtwv* 成2?理1 KB2DW/11/17 S:4PSH1 KB2DH3/11/17 5

9、:413Win-d&w4 KB2DH3/11/17 5:4134 KB2DH3/11/17 5:413Win-d&w4 KB2DH3/11/17 5:413图而31 KB2DH3/11/17 5:413ACDEh PNG 曲村3 KB2010/11/17 549SH玄1譬4 KB20IV4/3 &452 KBa)IV4/30 11?42Tntprnffl1 KB,胸Wpoan.Eh 倍改:日明:2O1-D/11/17 S:4Q-SH 3t+t343 KB刖成日期:201SyiO/l! 14:33=f s irsTi| J. 工作k .曲潭共平& # etl dots- nte-gnation

10、| * 4点童-mz宁*掉0jQ 1Li帝K 林目三 Eli)3.资源库的设置打开kettle工具后会出现如下界面:在这里我们可以设置kjb文件和ktr文件存放的资源库,也可以不设置但是在保存的时 候就需要手动设置文件的保存路径。加号按钮是添加新的资源库,铅笔按钮是对已有的资源库进行编辑,叉叉按钮是删 除选定的资源库按下添加按钮后会进入一下界面,双击红色选定框内的文字将弹出新建一个新的资源库双击红色选定框内的文字将弹出资源库新建窗口,点击上面一行文字是在数据库中创建资源 库,下面的文字是在本地中创建资源库(与数据库类似,不作展示)点击新建按钮将弹出数据库连接窗口Connection Name:

11、数据库连接名称(随意填写,不能为空)Connection Type:连接的数据库类型Access:数据库的连接方式(本文档只选择了 Native的连接方式,其他方式请读者自行摸索)Host Name:数据库具体的Ip地址Database Name:指定连接的数据库名称Instance Name:(可不填写)Port Number:数据库监听的tcp/ip端口号User Name:指定连接数据库登录时的用户名Password :指定连接数据库登录时的密码忙Database ConnectionGeneralAdvancedOptionsPoolingClusteringConnection Na

12、me:m&_zhj_urm&Connection TypesIngr&sIntersystems CacheKingbaseESLucidDBMS AccessMS SQL Server (Native)MsxDB SAP DB MonetDE MySQL IN eo view NetezzaOracleOracle R.DBNative (JDBCODBCJNDITestMSSettingeHo&t Name:21B.14.Z2&.L12DataLiBse- hJame:cm&_zhj_urm&Instance Nome:OKCancel填写完数据库连接的基本信息后,点解界面中的Test按钮

13、进行数据库连接测试,如成 功连接会弹出如下信息,反之则会弹出出错信息,出错后根据相关的出错信息进行修改,不 需要添加相关的数据库连接jar包,kettle工具中已经把其包含进去了。连接成功后点击ok按钮,并在一下界面输入Id和名称(id和名称都可以随意填写)填写完成后点击创建或更新按钮,进行资源库的创建。如果只点击确定按钮是不会创建 资源库的。点击创建或更新按钮后会弹出一下界面,是在数据库中创建资源库的sql执行语 句,点击执行执行完后会弹出一下界面,执行完后直接关闭SQL语句的运行结果窗口和简单SQL编辑 器窗口(运行成功后不要再次点击执行按钮,否则会报错)o S E30 SQL IfiaK

14、EfrWSQL l.眼ID_JQB_SOF BIGIUT fliimfi? KEYENABLED EA町 1 .EVALUillCffl LlUAllIUMZCflDTOHAL =HA.R: 1)之行的 ll: CBEiJE TAELE七施电HOP世计的 SQL CREATE TAELE R_J匚E_*DTEID_JCe IHI TD_HC-TE TFTID TRJIHS LOCK BQUT 听既R? KEf.KLTPikijRhATIiM IHTD_U5ER XTIg-HES泌E: TESTLCCK DATE DATE! KEJtif fil SQL CREATE TABLE R_JCe_D

15、ZCKiD_JCfi_no: dkiitt ESibdRy ky D JOB IHT DZUSER JIT LCCK tIESSJGE TEXT iJjDiiTE HATETtKEkifEfl 闵0 CIS:ATE TABLE 土D5EERY FEYPiSSUORD TARCHA邸第邛 .H迎 VlEilkG!2G) CC3ZR1PTCOH-ENAEIED CHiiRlJj拭行的 更CL IlfSST BTTO JL.OSEECICLOSEP LOGItf.玮田,0面 HiME DEEEITIOHSQL HSERT HTO R USER(ID_VSER LOjH FAS5HCRD. NAME

16、CeSZRFTOH H3 b ECL得句确定资源库信息后返回资源库连接界面,进行资源库登录,新建的资源库密码默认为 admin,再次登录后可以对其进行密码的修改(输入密码后按下enter键登录)0 Spwn -邛财时 7.EX.GD&S_SL文俐F)耕砸心SEgkJT)砥rul印回18通Dmbasr*7/楼侦顷CTRl-R浏览器|问导啊CTR1-DT&3SSCTftL-E F耳 tm:” 工以jSDBS.5US5frExpert Reposrtoiy-.*.f DB攻impoit Repository.探索资源库可以查看资源库中的具体信息Browse:查看资源库中所存放的ktr文件和kjb文件

17、Connections :数据库连接管理Security:资源库登录用户管理4.转换的创建与使用4.1创建一个新的装换下图为一个普通的转换流程,下面介绍一些常用的转换控件3* Wfsoan - Lx-pg KRt 土 1, RH 女伴旧 SriMiB也Ke通 BDIS 旧9号,ttn- ww i11烦日A n ti 祜 W hfir * i 丘 100*6-W.-K. Srtti EAT*UKHJry Fctwh寸VirLf t a Loaft业 ft*W归遂3X -a-din-gi lii ktcvy4.2 DataGird核心对象一输入一DataGird中选取DataGrid是数据的输入表

18、单,用户可以在里面定义数据名称、类型等信息,并设置相 对应的值T隹Add canstant rowsa | E * |售&麻瓦GridMeta EMaJ-*Name TypeFcimiatLength PtenEiDnCurrency Decimal Group1idInteger2name String簸心 S(P)眺凯C)7 Add constant rows口 | 回 |击璟名样Data GridMrtaD血TFidniame1 212季四J0同5 I 朝印眺凯马4.3 Writetolog 控件核心对象一输入一Write to log中选取Q Write日 Write to logSt

19、ep nameWrite to logWrite to log把相关信息打印到日志窗口,获取字段按钮会自动获得从连接中所输入 的所有属性Print header 0FieldsLog level基本日志 Print header VFieldname确定O荻取亨段取i削0执行结果L企亍岳壬日志 Strp Wrlric-5 IT I能回-1 J-H-Ff . 3 J_5 -JUtiJUU &U IU.WUJ-kRjlL-k*Hq J 5 S MP uJ4 J 3- Wia:5S!3S - Write to log.D -2015/10/23 1O:5B:3B - Write to log.DLi

20、nenr 12015/10/23 10:53:38 - Write to lcg.0 - id - 12015/10/23 IO:58:38 - Write to log.O - n ame 一 快=2015/10/23 1O;58;33 - Write to log.O -2015/10/23 10:53:33 - Write to log.O 2O1S/1O/23 1O:5B:3B - Write to log.O -2015/10/23 IOiSSiSS - Write to log.D= Linenr ?2015/10/22 1O:5B:9& - Write to lcg.0 - id

21、 = 22D15/1O/2S 1O:5S:3S - Write to acj.O - name -李四2015/10/23 1O:58:3B - Write to log.D -2015/10/23 10:58:38 - Write to loo.O - = = = = = = = = = = = = = = = =irrr建立数据连接线:shift +左键建立数据连接线单击数据连接线会使其连接失效,数据不能传输到后续步骤再次单击后可以使其恢复Da_-t a Gir idWr l-l: & -t o Log网占g转换运行前需要先进行保存操作,保存后点击运行按钮,转换文件就会运行,在转换文 件中

22、连线只是数据的传输方向和步骤的执行顺序,所以文件运行后文件中的所有步骤都会执 行,即使步骤不在连线中。在转换过程中图中的表输入步骤也会执行控件步骤的分离:选定需要分离的步骤,点击右键,选择分离步骤显示输入字段:选定所需查看的控件,点击右键查看显示输入字段,可以查看从上一步骤流入这个步骤的所有字段显示输出字段:选定所需查看的控件,点击右键查看显示输出字段,可以查看在这个步骤执行完后输出的字段jt募名期 IdentiFy 1技 row in a stream字於名林淄1idInteger1nnrmalnameStringnunnfllS5l:C)4.4表输入控件核心对象一输入一表输入步骤名称:对这

23、个步骤的描述数据库连接:可以在下拉菜单中选择,如没有则按新建按钮进行新建,步骤与之前资源 库新建数据库连接一致。SQL查询语句:选择数据库连接后点击获取SQL查询语句对具体的表进行选择,用户也 可以在sql语句框中自行编写sql语句允许延迟选项:勾选后,数据库在进行数据查询时会对数据类型比较庞大的暂不查询出 来,等需要使用时才到数据库中获取替换sql语句里的变量:勾选后变量才允许把SQL语句中的变量替换成相应的值记录数量限制:默认为0 (全部输入),不为0时,只输出限制的数据条数表输入可以从上一步骤中获取数据,获取的数据使用?符号进行代替,一个?符号代 表一个输入字段,如一个字段中有多个值,需

24、要把执行每一行打钩,这样表输入控件会循环 字段的值进行查询操作,不然会出错。Data tTridM ft-tiNanfiF0TypeFormfiiLengithiPro-clclotiJLIdIntegerMetis| Data井id:a4.5字段选择控件核心对象一转换一字段选择中选取字段选择为取得需要的数据列,并可以做一些改名,长度限制,精度的控制,不需要的时候这步可以省略或者选择好列后不做操作。4.6表输出控件核心对象一输出一表输出中选取目标表:目标数据库中要操作的表 提交记录数量:每次批量插入的数量使用批量插入:默认,不打勾数据会一条条插入勾选Specify database field

25、s (选用数据库指定字段)则可以使用字段获取输入流 的字段的Get fields按钮,否则则不能使用4.7插入/更新控件核心对象一输出一插入更新目标表:目标数据库中需要进行插入更新的表格Commit size :每次批量更新插入的数值,100则每次插入更新100条查询的关键字:根据关键字进行插入更新数据的筛选更新字段:需要更新的字段插入更新原理:第一步:从源库上面取出一条记录,在目标库上面,执行“select各个更新字段from TABLE where用来查询的各个关键字”这个查询;第二步:判断select查询的返回值,如果没有返回值则insert这条记录,如果有返回 值,则把查询出来的结果集

26、和源库上面的记录做对比,如果不同则update,相同则什么也 不干。部肆名程插人/史制募度sqls eirvE-r_tt5ia馅45. |新建山|目式目:此云&1ud&ntiCcrrimit sire ioo用拜建河沱关建宇;#5S孕诊比较符洗虫能字段L混虫拘字殷卫|疫成宇陨表字段7段Updatr技取印更靳字晓JLpidpidVEdit mapping2sxidixidY3smjcs-mjcV4sdjcsdjcV5JqjyJqj/V6cyiy视yY7njnbnjnbV3fljgfljyV9cxdacxdaY10tsjbtsj bV4.8转换中变量的设置从表输入中获得参数设置变量,传输给表输出使

27、用表输入SELECTresourceidLe:t.:yndet.E:.synnajneMpn匚:匚id巳synst-atxisge t da t- e ( ) as sysdate t- i meEHUM synccontigwhere :-:7nr:ude= 1 evqdti:-:1可以从前一步骤获取字段值(字段值应该唯一,如有多个会出错),设置变 量rw:sb邛第壁rriri若尊名称:姿m同步起始血:结京时间Apply Form stti ng |J|*孝窟名祢至里名亶星活港理Default valuelestsyndate at etimeLASTEYNDATE Valic in the

28、 rootj&b SYSDATEnME Valic in the r&otjobrrr| 卜4.9变量的使用类似于el表达式的写法,运行后会自动替换成变量的值,变量使用时必须勾选替换SQL 语句里的变量选项4.10步骤的错误处理错误处理:步骤点击右键,选择定义错误处理。在没有定义错误处理的情况下如果步骤 出错会立即停止执行并且不输出任何数据,在定义了错误处理后步骤出错会输出正确执行的 数据,并把出错数据输出到指定的文件中目标步骤:该步骤发生错误后下一个要执行的步骤启用错误处理:是否启动错误处理机制,启动后有错误会执行错误处理机制,否则整个转换立即停止错误数列名:统计错误数列的名称(随意填写)错

29、误描述列名:描述错误列的名称(随意填写)错误编码列名:错误编码的列的名称(随意填写)允许的最大错误数:这个步骤所允许的最大错误数,超过整个数值,整个转换立即停止允许的最大错误百分比:这个步骤所允许的错误条数占总条数的最大百分比,超过此百分比转换立即停止。4.11 flow控件的使用4.11.1 Switch/Case 控件核心对象一flowSwitch/Case中选取Switch/Case控件:控件根据输入流的某个字段进行判断,根据结果选择下一个需要 进行的步骤Field name to switch :输入流中用以判断的字段Case values:字段值为XXX时,所执行的步骤Default

30、 target step:没有匹配到相应的事件时,执行的步骤4.11.2 Blocking Step 控件核心对象一flowBlocking Step中选取这个是阻塞控件,只有等它前面的所有控件完成操作后,才会进行它后续的操Pass all rows:是否传递所有的阻塞数据,勾选则所有阻塞的数据都会流向下 一 步骤,否则只会有一条数据流向下一步骤4.11.3 Indentify last row in a stream 控件Result fieldnam e成(5取i散QresultStep nameIdentify last row in a stre-amF乓_ Detect lat ro

31、w核心对象一flowIndentify last row in a stream 中选取作用是判断数据是否为最后一条,会为每一条数据添加一个字段,Result fieldname的名称就是该字段的名称,当数据不为最后一条是,字段值为N,当数 据是最后一条时,字段值为Y。iru玉fI国Identify last row in a stream 文冬文件撬二i4.11.4过滤记录控件核心对象一flow过滤记录中选取The condition:过滤比较的表达式,左边为输入流的某个字段,中间为比较 符,右为某个特定的值Send true data to step:当表达式为true时,下一个执行的步骤

32、Send falsedata to step:当表达式为false时,下一个执行的步骤4.11.5空操作控件核心对象一flow空操作 中选取,这个控件的作用是:什么也不做,方便用户进行各步骤的连接空遥作什么也不做4.11.6 Abort 控件核心对象一flowAbort中选取这个控件的作用是:停止整个转换操作5.作业(job)的创建及使用51创建一个新的作业5.2 START 控件核心对象一通用START中选取START是一个job的任务入口,只有无条件的任务可以从此入口开始任务,也可以在此设置任务定时运行和重复运行5.3 Success 控件 核心对象一通用一success中选取代表job的

33、结束,没有任何数据的操作5.4 Transformation 控件核心对象一通用一Transformat中选定Transformation是job中具体的数据转换操作,只需要把之前写好的ktr文件路径设 置上去,就会运行对应的ktr文件5.5变量设置核心对象一通用一Set variablesVariable name:变量名Value :变量值Variable scope type:变量的使用范围Valid in the Java Virtual Machine:在整个JVM虚拟机中都可以使用Valid in the current job:只能在此 job 中使用Valid in the p

34、arent job:可以在此job,及引用这个job的父job中使用,父job 的父job无法使用Valid in the root job:可以在引用这个job的工程的任意地方使用Job的连线有三种形式,(1)无条件的:会无条件运行后续转换(2)当结果为真时才运行下一步(3)当结果为假时才运行下一步5.6 Js脚本使用核心对象一脚本一javascript写法于普通的js 一样parent_job.getVariable(index);获取命为 “index” 的变量的值 parent_job.setVariable(index,)设置名为 “index”的变量的值 job中的JavaScri

35、pt脚本返回true或false时不需要return关键字中选取只是返回true或false时不需要return关键字,如下图Job entiy rJavaScript:Set va n.able5匕 Evaluating JavaScriptIvar conn if(count else count+-l-:5.7空操作控件核心对象一通用一DUMMY这个步骤不做任何操作,只是方便用户进行步骤的排列操作下图是一个循环的得job作业过程,从Start入口进入,在Set variables 中设置变量,在JavaScript脚本中进行变量判断,返回值为 true这进入 Transformation转换中,返回值为false则进入Success中结果job过程,下 图是Set variables、JavaScript脚本和循环的具体实现。v&iriab :* .Variable name-ValuerVariable- scope- type-JLindtxOValid in the- Java Viirfcual Machine-Set vsnablesJob entryY Eva I ust ing JavaS cri pt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号