KETTLE基本知识培训_第1页
KETTLE基本知识培训_第2页
KETTLE基本知识培训_第3页
KETTLE基本知识培训_第4页
KETTLE基本知识培训_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1内容 KETTLE介绍 KETTLE的要求环境(JDK版本)、安装、基本操作。 KETTLE的组件的类型基本说明(作业与转换) 案例 JAVASCRIPT的基本应用 KETTLE输出日志说明 启动脚本说明。2简介 KETTLE是一款国外开源的ETL工具,纯JAVA编写,可以在WINDOW、LINUX、UNIX上运行,绿色无需安装,数据抽取高效稳定。 ETL是数据抽取(EXTRACT)、清洗(CLEANING)、转换(TRANSFORM)、装载(LOAD)的过程。3ETL实现方式 手工编码,编写脚本,JAVA,PYTHON 商业ETL 工具软件INFORMATICAIBM DATASTAGEM

2、ICROSOFT SSISORACLE ODI 开源ETL 工具软件KETTLETALENDCLOVERETLKETL,OCTOPUS 4KETTLE 基本情况源代码下载地址:SVN:/SOURCE.PENTAHO.ORG/SVNKETTLEROOT/KETTLE/TRUNK官方文档:HTTP:/INFOCENTER.PENTAHO.COMBUG报告地址:HTTP:/JIRA.PENTAHO.COM/BROWSE/PDI官方论坛:HTTP:/FORUMS.PENTAHO.ORG/FORUMDISPLAY.PHP?F=135中文论坛:HTTP:/WWW.PENTAHOCHINA.COM当前版本:

3、VERSION 5.2原作者: MATTLICENSE: 4.3 以前 LGPL ,4.3 以后改为APACHE 25KETTLE 历史 2006年 KETTLE 2.2, KETTLE 2.3 (KETTLE 开源,LICENSE 为 LGPL) 2007年 KETTLE 2.4, KETTLE 2.5(被PENTAHO 公司收购,更名为 PDI) 2008年 KETTLE 3.0 ,KETTLE 3.1 2009年 KETTLE 3.2 (一个使用时间较长的稳定版本) 2010年 KETTLE 4.0 ,KETTLE 4.1 2011年 KETTLE 4.2 2012年 KETTLE 4.

4、3 ,KETTLE 4.4 (LICENSE 变更为 APACHE 2,支持大数据) 2013年 KETTLE 5.0 2014年 KETTLE 5.1、5.26KETTLE 学习资料 1.HTTP:/KETTLE.PENTAHO.COM/、HTTP:/WIKI.PENTAHO.COM/ 2.HTTP:/INFOCENTER.PENTAHO.COM 3.KETTLE COOK BOOK 4.PENTAHO 3.2 DATA INTEGRATION BEGINNERS GUIDE5.KETTLE SOLUTION 6.KETTLE 源代码7KETTLE的安装运行 KETTLE要求先安装JDK1.

5、5版本或以上 下载地址:HTTP:/SOURCEFORGE.JP/PROJECTS/SFNET_PENTAHO/RELEASES/ 无需安装下载后直接运行SPOON.BAT即可8KETTLE 资源库-元数据 元数据的通用概念: “描述性数据”或“数据的数据” ETL 的元数据: 描述 ETL 要执行的任务 在KETTLE里元数据的存储方式: 资源库资源库包括文件资源库、数据库资源库KETTLE 4.0 以后资源库类型可以插件扩展 XML 文件KTR 转换文件的XML的根节点必须是 KJB 作业XML的根节点是9KETTLE的组件的类型基本说明(作业与转换) KETTLE中有两种脚本文件,TRA

6、NSFORMATION(转换,后缀为.KTR)和JOB(作业, 后缀为.KJB),TRANSFORMATION完成针对数据的基础转换,好比工厂里的生产流水线,每个组件相当于一个员工;JOB则完成整个工作流的控制,好比工厂里的管理。 如果用记事本打开文件可发现转换和作业都是XML类型文件。10KETTLE 的几个子程序 SPOON.BAT: 图形界面方式启动作业和转换设计器。 PAN.BAT: 命令行方式执行转换。 KITCHEN.BAT: 命令行方式执行作业。 CARTE.BAT: 启动WEB服务,用于 KETTLE 的远程运行或集群运行。 ENCR.BAT: 密码加密11KETTLE的组件的

7、类型基本说明(作业与转换) 作业:分串行执行和并行执行,串行执行是先执行完其中一条线再执行另一条线,并行是两条线同时执行,同一条线上的两个步聚会先执行前面的再执行后面的,每个步骤执行结果分两种:TRUE(成功)/FALSE(失败),根据返回结果可以控制流程走向。12转换和作业转换和作业 KETTLE 的 SPOON 设计器用来设计转换(TRANSFORMATION)和作业(JOB)。 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(STEP)。 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(JOB ENTRY),一个作业项代表了一项工作,转换也是一个作业项。 用户通过 S

8、POON 创建的转换、作业、数据库连接等可以保存在资源库和 XML 文件中。 转换文件以 KTR 为扩展名,作业文件以 KJB 为扩展名 资源库可以是各种常见的数据库。可以在 SPOON 中自动创建资源库,资源库默认用户名和密码是ADMIN/ADMIN13KETTLE的组件的类型基本说明(作业与转换) 作业流程图说明14KETTLE的组件的类型基本说明(作业与转换) 转换:一开始所有步骤同时运行,记录会从最前端的步骤向后传递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再把记录往后传递,记录传递分复制和分发两种模式。15KETTLE的组件的类型基本说明(作业与转换) 复制:把一份数据复制

9、成多份,后面步骤各占一份。 分发:把一份数据平均分配给后面步骤。16KETTLE的组件的类型基本说明(作业与转换) 在转换组件上右键显示输入字段(显示输出字段)可以查看前面步骤流过来的记录字段情况和该字段是后面步骤传递的字段信息情况。17基于表对表的同步 表对表同步是最基本的同步方式之一 实现步骤:一、建立源库连接和目标库连接二、使用表输入组件进行源表数据读取三、对记录进行适配整理四、使用表输出组件输出到目标表18基于表对表的同步 新建一个转换:文件新建转换19基于表对表的同步20基于表对表的同步21基于表对表的同步22基于表对表的同步23基于文件到表的同步 新建一个转换 流程:从文件读取记录

10、插入到数据库中24基于文件到表的同步25基于文件到表的同步26基于文件到表的同步27基于表到文件的同步 新建一个转换 实现从表里读取记录生成文件28基于表到文件的同步29基于表到文件的同步30基于表到文件的同步31JAVASCRIPT的基本应用 JAVASCRIPT基本语法: VAR JSSTR = “HELLO KELLO”; /定义一个字符串变量 VAR JAVASTR = NEW JAVA.LANG.STRING(“JAVA STRING ”); /JAVA.LANG.STRING实例 WRITETOLOG(“M”, STR); /打印字符串到日志输出 VAR NUM = 1; /定义一

11、个整型 VAR ARR = NEW ARRAY(); /定义一个数组无任何元素 ARR.PUSH(“添加一个元素到数组未位”); VAR ARR1= NEW ARRAY(3, “FTP补采”); /定义一个数组32JAVASCRIPT的基本应用IF ELSE 语句语句 VAR BOOL = TRUE;IF(BOOL) /BOOL值为TRUE ALERT(“正确”);ELSE /BOOL值为FALSE ALERT(“错误”);33JAVASCRIPT的基本应用 FOR语句语句 VAR ARR = NEW ARRAY(1, “2”, “THIS IS STRING”); FOR(VAR I=0;

12、IARR.LENGTH; I+) IF(ARRI = 2) ALERT(“THE VALUE IS ”+ ARRI); 34JAVASCRIPT的基本应用方法定义方法定义 VAR STR = “WHJ”; /全局变量 FUNCTION SAYHELLO(NAME) /带一个参数的方法 IF(NAME = NULL) RETURN “HELLO “ + STR; ELSE RETURN “HELLO “ + NAME; /返回一个字符串WRITETOLOG(“M”, SAYHELLO();/方法调用35JAVASCRIPT的基本应用异常处理异常处理 TRYCATCH TRY VAR VALUE

13、= 100/0;CATCH(E) THROW NEW JAVA.LANG.EXCEPTION(“除数不能为0:+ E);异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高。36JAVASCRIPT的基本应用37作业调用作业、转换 文件新建作业 作业可以调用作业,这样方便流程控制。38作业调用作业、转换39作业调用作业、转换 作业也可以调用转换40作业调用作业、转换41KETTLE自带例子 菜单:文件从URL打开文件SAMPLES 也可以直接到KETTLE工具下的SAMPLES目录打开42K

14、ETTLE输出日志说明 日志输出是检查程序运行情况的重要手段,也是程序维护必不可少的环节。 KETTLE在日志输出方面也有很好的控制功能。KETTLE日志输出共分七个等级:没有日志(NOTHING)、错误日志(ERROR)、最小日志(MINIMAL)、基本日志(BASIC)、详细日志(DETAILED)、调试日志(DEBUG)、行级日志(ROWLEVEL)。默认为基本日志。43KETTLE输出日志说明 NOTHING:不显示任何输出 ERROR:仅仅显示错误信息 MINIMAL:使用最小的日志 BASIC:缺省的日志级别 DETAILED:给出日志输出的细节 DEBUG:调试目的,调试输出 R

15、OWLEVEL:打印出每一行记录的信息44KETTLE输出日志说明 作业日志输出说明 作业运行状态有两种:TRUE(成功)/FALSE(失败)。 注意:失败不代表运行异常、出错。有时只是用来控制流程的一种决策、一种手段。45KETTLE输出日志说明 程序异常退出情况46KETTLE输出日志说明 转换日志输出说明 I: 当前步骤生成的记录数(从表输入、文件读入) O:当前步骤输出的记录数(输出到文件、表) R:当前步骤从前一步聚读取的记录数 W:当前步骤向后面步骤抛出的记录数 U:当前步骤更新过的记录数 E:当前步骤处理出错的记录数47启动脚本说明 KETTLE程序启动分两种,一种是作业、一种是

16、转换。 作业调用启动脚本: KITCHEN.SH( KITCHEN.BAT) 转换调用启动脚本: PAN.SH( PAN.BAT)48KETTLE 运行方式 PAN命令行参数名列表:/REP : 资源库名称/USER : 资源库用户名/PASS : 资源库密码/TRANS : 要启动的转换名称/DIR : 目录(不要忘了前缀 /)/FILE : 要启动的文件名(转换文件)/LEVEL : 日志级别 (ERROR, NOTHING, MINIMAL, BASIC , DETAILED, DEBUG, ROWLEVEL)/LOGFILE : 要写入的日志文件/LISTDIR : 列出资源库里的目录

17、/LISTTRANS : 列出指定目录下的转换/LISTREP : 列出可用资源库/EXPREP : 将资源库里的所有对象导出到 XML 文件中/NOREP : 不要将日志写到资源库中/SAFEMODE : 安全模式下运行: 有额外的检查/VERSION : 显示转换的版本,校订和创建日期/PARAM : 设置参数,参数格式=,例如-PARAM:FOO=BAR/LISTPARAM: 列出转换里已经设置好的参数。/MAXLOGLINES:内存中保存日志的最大日志行数/MAXLOGTIMEOUT:内存中保存日志的最长时间49KETTLE 运行方式 KITCHEN命令行参数名列表:/REP : 资源

18、库名称/USER : 资源库用户名/PASS : 资源库密码/JOB : 要启动的作业名称/DIR : 目录(不要忘了前缀 /)/FILE : 要启动的文件名(转换文件)/LEVEL : 日志级别 (ERROR, NOTHING, MINIMAL, BASIC , DETAILED, DEBUG, ROWLEVEL)/LOGFILE : 要写入的日志文件/LISTDIR : 列出资源库里的目录/LISTJOBS : 列出指定目录下的作业/LISTREP : 列出可用资源库/EXPREP : 将资源库里的所有对象导出到 XML 文件中/NOREP : 不要将日志写到资源库中/SAFEMODE : 安全模式下运行: 有额外的检查/VERSION : 显示转换的版本,校订和创建日期/PARAM : 设置参数,参数格式=,例如-PARAM:FOO=BAR/LISTPARAM: 列出转换里已经设置好的参数/EXPORT: 把作业依赖的所有资源导出到一个ZIP 文件里/MAXLOGLINES:内存中保存日志的最大日志行数/MAXLO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论