KETTLE基本知识培训
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
47
启动脚本说明
• KETTLE程序启动分两种,一种是作业、一种是转换。 • 作业调用启动脚本: KITCHEN.SH( KITCHEN.BAT) • 转换调用启动脚本: PAN.SH( PAN.BAT)
48
KETTLE 运行方式– PAN命令行
• 参数名列表:
• /REP : 资源库名称
• /USER : 资源库用户名
18
基于表对表的同步
• 新建一个转换:文件->新建->转换
19
基于表对表的同步
20
基于表对表的同步
21
基于表对表的同步
22
基于表对表的同步
23
基于文件到表的同步
• 新建一个转换 • 流程:从文件读取记录插入到数据库中
24
基于文件到表的同步
25
基于文件到表的同步
26
基于文件到表的同步
THROW NEW NG.EXCEPTION(“除数不能为0:"+ E); }
异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是 你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的 方法,使编程效率大大提高。
36
JAVASCRIPT的基本应用
37
作业调用作业、转换
KETTLE输出日志说明
• 日志输出是检查程序运行情况的重要手段,也是程 序维护必不可少的环节。
• KETTLE在日志输出方面也有很好的控制功能。 KETTLE日志输出共分七个等级:没有日志 (NOTHING)、错误日志(ERROR)、最小日志 (MINIMAL)、基本日志(BASIC)、详细日志 (DETAILED)、调试日志(DEBUG)、行级日志 (ROWLEVEL)。默认为基本日志。
9
KETTLE的组件的类型基本说明(作业 与转换)
• KETTLE中有两种脚本文件,TRANSFORMATION(转换,后缀为.KTR) 和JOB(作业, 后缀为.KJB),TRANSFORMATION完成针对数据的基 础转换,好比工厂里的生产流水线,每个组件相当于一个员工; JOB则完成整个工作流的控制,好比工厂里的管理。
27
基于表到文件的同步
• 新建一个转换 • 实现从表里读取记录生成文件
28
基于表到文件的同步
29
基于表到文件的同步
30
基于表到文件的同步
31
JAVASCRIPT的基本应用
• JAVASCRIPT基本语法: • VAR JSSTR = “HELLO KELLO”; //定义一个字符串变量 • VAR JAVASTR = NEW NG.STRING(“JAVA STRING ”); //NG.STRING实
转换和作业
• KETTLE 的 SPOON 设计器用来设计转换(TRANSFORMATION)和作业(JOB)。 • 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(STEP)。 • 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(JOB
ENTRY),一个作业项代表了一项工作,转换也是一个作业项。 • 用户通过 SPOON 创建的转换、作业、数据库连接等可以保存在资源库和 XML
43
KETTLE输出日志说明
• NOTHING:不显示任何输出 • ERROR:仅仅显示错误信息 • MINIMAL:使用最小的日志 • BASIC:缺省的日志级别 • DETAILED:给出日志输出的细节 • DEBUG:调试目的,调试输出 • ROWLEVEL:打印出每一行记录的信息
44
KETTLE输出日志说明
RETURN “HELLO “ + STR; ELSE
RETURN “HELLO “ + NAME; //返回一个字符串 } WRITETOLOG(“M”, SAYHELLO());//方法调用
35
JAVASCRIPT的基本应用
异常处理 TRY…CATCH… TRY{ VAR VALUE = 100用
IF … ELSE 语句 VAR BOOL = TRUE; IF(BOOL){ //BOOL值为TRUE
ALERT(“正确”); }ELSE{ //BOOL值为FALSE
ALERT(“错误”); }
33
JAVASCRIPT的基本应用
FOR语句 VAR ARR = NEW ARRAY(1, “2”, “THIS IS STRING”); FOR(VAR I=0; I<ARR.LENGTH; I++){
文件中。 • 转换文件以 KTR 为扩展名,作业文件以 KJB 为扩展名 • 资源库可以是各种常见的数据库。可以在 SPOON 中自动创建资源库,资源库
默认用户名和密码是ADMIN/ADMIN
13
KETTLE的组件的类型基本说明(作业 与转换)
• 作业流程图说明
14
KETTLE的组件的类型基本说明(作业 与转换)
• 如果用记事本打开文件可发现转换和作业都是XML类型文件。
10
KETTLE 的几个子程序
• SPOON.BAT: 图形界面方式启动作业和转换设计器。 • PAN.BAT: 命令行方式执行转换。 • KITCHEN.BAT: 命令行方式执行作业。 • CARTE.BAT: 启动WEB服务,用于 KETTLE 的远程运行或集群运行。 • ENCR.BAT: 密码加密
16
KETTLE的组件的类型基本说明(作业 与转换)
• 在转换组件上右键->显示输入字段(显示输出字段)可以查看 前面步骤流过来的记录字段情况和该字段是后面步骤传递的字段 信息情况。
17
基于表对表的同步
• 表对表同步是最基本的同步方式之一 • 实现步骤:
一、建立源库连接和目标库连接 二、使用表输入组件进行源表数据读取 三、对记录进行适配整理 四、使用表输出组件输出到目标表
11
KETTLE的组件的类型基本说明(作业 与转换)
• 作业:分串行执行和并行执行,串行执行是先执行完其中一条线 再执行另一条线,并行是两条线同时执行,同一条线上的两个步 聚会先执行前面的再执行后面的,每个步骤执行结果分两种: TRUE(成功)/FALSE(失败),根据返回结果可以控制流程走向。
12
• 作业日志输出说明 • 作业运行状态有两种:TRUE(成功)/FALSE(失败)。 • 注意:失败不代表运行异常、出错。有时只是
用来控制流程的一种决策、一种手段。
45
KETTLE输出日志说明
• 程序异常退出情况
46
KETTLE输出日志说明
• 转换日志输出说明
• I: 当前步骤生成的记录数(从表输入、文件读入) • O:当前步骤输出的记录数(输出到文件、表) • R:当前步骤从前一步聚读取的记录数 • W:当前步骤向后面步骤抛出的记录数 • U:当前步骤更新过的记录数 • E:当前步骤处理出错的记录数
例 • WRITETOLOG(“M”, STR); //打印字符串到日志输出 • VAR NUM = 1; //定义一个整型 • VAR ARR = NEW ARRAY(); //定义一个数组 无任何元素 • ARR.PUSH(“添加一个元素到数组未位”); • VAR ARR1= NEW ARRAY(3, “FTP补采”); //定义一个数组
KETTLE基本知识讲义
1
内容
• KETTLE介绍 • KETTLE的要求环境(JDK版本)、安装、基本操作。 • KETTLE的组件的类型基本说明(作业与转换) • 案例 • JAVASCRIPT的基本应用 • KETTLE输出日志说明 • 启动脚本说明。
2
简介
• KETTLE是一款国外开源的ETL工具,纯JAVA编写,可以在WINDOW、 LINUX、UNIX上运行,绿色无需安装,数据抽取高效稳定。
SOLUTION》 • 6.KETTLE 源代码
7
KETTLE的安装运行
• KETTLE要求先安装JDK1.5版本或以上 • 下载地址:
HTTP://SOURCEFORGE.JP/PROJECTS/SFNET_PENTAHO/RELEASES/ • 无需安装下载后直接运行SPOON.BAT即可
8
KETTLE 资源库–-元数据
• ETL是数据抽取(EXTRACT)、清洗(CLEANING)、转换 (TRANSFORM)、装载(LOAD)的过程。
3
ETL实现方式
• 手工编码,编写脚本,JAVA,PYTHON • 商业ETL 工具软件
• INFORMATICA • IBM DATASTAGE • MICROSOFT SSIS • ORACLE ODI
• 转换:一开始所有步骤同时运行,记录会从最前端的步骤向后传 递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再 把记录往后传递,记录传递分复制和分发两种模式。
15
KETTLE的组件的类型基本说明(作业 与转换)
• 复制:把一份数据复制成多份,后面步骤各占一份。 • 分发:把一份数据平均分配给后面步骤。
6
KETTLE 学习资料
• 1./、/ • 2. • 3.《KETTLE COOK BOOK》 • 4.《PENTAHO 3.2 DATA INTEGRATION BEGINNER’S GUIDE》5.《KETTLE
• 文件->新建->作业 • 作业可以调用作业,这样方便流程控制。
38
作业调用作业、转换
39
作业调用作业、转换
• 作业也可以调用转换
40
作业调用作业、转换
41
KETTLE自带例子
• 菜单:文件->从URL打开文件->SAMPLES • 也可以直接到KETTLE工具下的SAMPLES目录打开
42
IF(ARR[I] == 2){ ALERT(“THE VALUE IS ”+ ARR[I]); } }
34
JAVASCRIPT的基本应用
方法定义 VAR STR = “WHJ”; //全局变量 FUNCTION SAYHELLO(NAME){ //带一个参数的方法 IF(NAME == NULL)
• 元数据的通用概念: “描述性数据”或“数据的数据” • ETL 的元数据: 描述 ETL 要执行的任务 • 在KETTLE里元数据的存储方式:
• 资源库
• 资源库包括文件资源库、数据库资源库 • KETTLE 4.0 以后资源库类型可以插件扩展
• XML 文件
• KTR 转换文件的XML的根节点必须是 <TRANSFORMATION> • KJB 作业XML的根节点是<JOB>
5
KETTLE 历史
• 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.3 ,KETTLE 4.4 (LICENSE 变更为 APACHE 2,支持大数据) • 2013年 KETTLE 5.0 • 2014年 KETTLE 5.1、5.2
• 开源ETL 工具软件
• KETTLE • TALEND • CLOVERETL • KETL,OCTOPUS …
4
KETTLE 基本情况
• 源代码下载地址: • SVN:///SVNKETTLEROOT/KETTLE/TRUNK • 官方文档: • BUG报告地址:/BROWSE/PDI • 官方论坛: • /FORUMDISPLAY.PHP?F=135 • 中文论坛: • 当前版本:VERSION 5.2 • 原作者: MATT • LICENSE: 4.3 以前 LGPL ,4.3 以后改为APACHE 2
启动脚本说明
• KETTLE程序启动分两种,一种是作业、一种是转换。 • 作业调用启动脚本: KITCHEN.SH( KITCHEN.BAT) • 转换调用启动脚本: PAN.SH( PAN.BAT)
48
KETTLE 运行方式– PAN命令行
• 参数名列表:
• /REP : 资源库名称
• /USER : 资源库用户名
18
基于表对表的同步
• 新建一个转换:文件->新建->转换
19
基于表对表的同步
20
基于表对表的同步
21
基于表对表的同步
22
基于表对表的同步
23
基于文件到表的同步
• 新建一个转换 • 流程:从文件读取记录插入到数据库中
24
基于文件到表的同步
25
基于文件到表的同步
26
基于文件到表的同步
THROW NEW NG.EXCEPTION(“除数不能为0:"+ E); }
异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是 你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的 方法,使编程效率大大提高。
36
JAVASCRIPT的基本应用
37
作业调用作业、转换
KETTLE输出日志说明
• 日志输出是检查程序运行情况的重要手段,也是程 序维护必不可少的环节。
• KETTLE在日志输出方面也有很好的控制功能。 KETTLE日志输出共分七个等级:没有日志 (NOTHING)、错误日志(ERROR)、最小日志 (MINIMAL)、基本日志(BASIC)、详细日志 (DETAILED)、调试日志(DEBUG)、行级日志 (ROWLEVEL)。默认为基本日志。
9
KETTLE的组件的类型基本说明(作业 与转换)
• KETTLE中有两种脚本文件,TRANSFORMATION(转换,后缀为.KTR) 和JOB(作业, 后缀为.KJB),TRANSFORMATION完成针对数据的基 础转换,好比工厂里的生产流水线,每个组件相当于一个员工; JOB则完成整个工作流的控制,好比工厂里的管理。
27
基于表到文件的同步
• 新建一个转换 • 实现从表里读取记录生成文件
28
基于表到文件的同步
29
基于表到文件的同步
30
基于表到文件的同步
31
JAVASCRIPT的基本应用
• JAVASCRIPT基本语法: • VAR JSSTR = “HELLO KELLO”; //定义一个字符串变量 • VAR JAVASTR = NEW NG.STRING(“JAVA STRING ”); //NG.STRING实
转换和作业
• KETTLE 的 SPOON 设计器用来设计转换(TRANSFORMATION)和作业(JOB)。 • 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(STEP)。 • 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(JOB
ENTRY),一个作业项代表了一项工作,转换也是一个作业项。 • 用户通过 SPOON 创建的转换、作业、数据库连接等可以保存在资源库和 XML
43
KETTLE输出日志说明
• NOTHING:不显示任何输出 • ERROR:仅仅显示错误信息 • MINIMAL:使用最小的日志 • BASIC:缺省的日志级别 • DETAILED:给出日志输出的细节 • DEBUG:调试目的,调试输出 • ROWLEVEL:打印出每一行记录的信息
44
KETTLE输出日志说明
RETURN “HELLO “ + STR; ELSE
RETURN “HELLO “ + NAME; //返回一个字符串 } WRITETOLOG(“M”, SAYHELLO());//方法调用
35
JAVASCRIPT的基本应用
异常处理 TRY…CATCH… TRY{ VAR VALUE = 100用
IF … ELSE 语句 VAR BOOL = TRUE; IF(BOOL){ //BOOL值为TRUE
ALERT(“正确”); }ELSE{ //BOOL值为FALSE
ALERT(“错误”); }
33
JAVASCRIPT的基本应用
FOR语句 VAR ARR = NEW ARRAY(1, “2”, “THIS IS STRING”); FOR(VAR I=0; I<ARR.LENGTH; I++){
文件中。 • 转换文件以 KTR 为扩展名,作业文件以 KJB 为扩展名 • 资源库可以是各种常见的数据库。可以在 SPOON 中自动创建资源库,资源库
默认用户名和密码是ADMIN/ADMIN
13
KETTLE的组件的类型基本说明(作业 与转换)
• 作业流程图说明
14
KETTLE的组件的类型基本说明(作业 与转换)
• 如果用记事本打开文件可发现转换和作业都是XML类型文件。
10
KETTLE 的几个子程序
• SPOON.BAT: 图形界面方式启动作业和转换设计器。 • PAN.BAT: 命令行方式执行转换。 • KITCHEN.BAT: 命令行方式执行作业。 • CARTE.BAT: 启动WEB服务,用于 KETTLE 的远程运行或集群运行。 • ENCR.BAT: 密码加密
16
KETTLE的组件的类型基本说明(作业 与转换)
• 在转换组件上右键->显示输入字段(显示输出字段)可以查看 前面步骤流过来的记录字段情况和该字段是后面步骤传递的字段 信息情况。
17
基于表对表的同步
• 表对表同步是最基本的同步方式之一 • 实现步骤:
一、建立源库连接和目标库连接 二、使用表输入组件进行源表数据读取 三、对记录进行适配整理 四、使用表输出组件输出到目标表
11
KETTLE的组件的类型基本说明(作业 与转换)
• 作业:分串行执行和并行执行,串行执行是先执行完其中一条线 再执行另一条线,并行是两条线同时执行,同一条线上的两个步 聚会先执行前面的再执行后面的,每个步骤执行结果分两种: TRUE(成功)/FALSE(失败),根据返回结果可以控制流程走向。
12
• 作业日志输出说明 • 作业运行状态有两种:TRUE(成功)/FALSE(失败)。 • 注意:失败不代表运行异常、出错。有时只是
用来控制流程的一种决策、一种手段。
45
KETTLE输出日志说明
• 程序异常退出情况
46
KETTLE输出日志说明
• 转换日志输出说明
• I: 当前步骤生成的记录数(从表输入、文件读入) • O:当前步骤输出的记录数(输出到文件、表) • R:当前步骤从前一步聚读取的记录数 • W:当前步骤向后面步骤抛出的记录数 • U:当前步骤更新过的记录数 • E:当前步骤处理出错的记录数
例 • WRITETOLOG(“M”, STR); //打印字符串到日志输出 • VAR NUM = 1; //定义一个整型 • VAR ARR = NEW ARRAY(); //定义一个数组 无任何元素 • ARR.PUSH(“添加一个元素到数组未位”); • VAR ARR1= NEW ARRAY(3, “FTP补采”); //定义一个数组
KETTLE基本知识讲义
1
内容
• KETTLE介绍 • KETTLE的要求环境(JDK版本)、安装、基本操作。 • KETTLE的组件的类型基本说明(作业与转换) • 案例 • JAVASCRIPT的基本应用 • KETTLE输出日志说明 • 启动脚本说明。
2
简介
• KETTLE是一款国外开源的ETL工具,纯JAVA编写,可以在WINDOW、 LINUX、UNIX上运行,绿色无需安装,数据抽取高效稳定。
SOLUTION》 • 6.KETTLE 源代码
7
KETTLE的安装运行
• KETTLE要求先安装JDK1.5版本或以上 • 下载地址:
HTTP://SOURCEFORGE.JP/PROJECTS/SFNET_PENTAHO/RELEASES/ • 无需安装下载后直接运行SPOON.BAT即可
8
KETTLE 资源库–-元数据
• ETL是数据抽取(EXTRACT)、清洗(CLEANING)、转换 (TRANSFORM)、装载(LOAD)的过程。
3
ETL实现方式
• 手工编码,编写脚本,JAVA,PYTHON • 商业ETL 工具软件
• INFORMATICA • IBM DATASTAGE • MICROSOFT SSIS • ORACLE ODI
• 转换:一开始所有步骤同时运行,记录会从最前端的步骤向后传 递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再 把记录往后传递,记录传递分复制和分发两种模式。
15
KETTLE的组件的类型基本说明(作业 与转换)
• 复制:把一份数据复制成多份,后面步骤各占一份。 • 分发:把一份数据平均分配给后面步骤。
6
KETTLE 学习资料
• 1./、/ • 2. • 3.《KETTLE COOK BOOK》 • 4.《PENTAHO 3.2 DATA INTEGRATION BEGINNER’S GUIDE》5.《KETTLE
• 文件->新建->作业 • 作业可以调用作业,这样方便流程控制。
38
作业调用作业、转换
39
作业调用作业、转换
• 作业也可以调用转换
40
作业调用作业、转换
41
KETTLE自带例子
• 菜单:文件->从URL打开文件->SAMPLES • 也可以直接到KETTLE工具下的SAMPLES目录打开
42
IF(ARR[I] == 2){ ALERT(“THE VALUE IS ”+ ARR[I]); } }
34
JAVASCRIPT的基本应用
方法定义 VAR STR = “WHJ”; //全局变量 FUNCTION SAYHELLO(NAME){ //带一个参数的方法 IF(NAME == NULL)
• 元数据的通用概念: “描述性数据”或“数据的数据” • ETL 的元数据: 描述 ETL 要执行的任务 • 在KETTLE里元数据的存储方式:
• 资源库
• 资源库包括文件资源库、数据库资源库 • KETTLE 4.0 以后资源库类型可以插件扩展
• XML 文件
• KTR 转换文件的XML的根节点必须是 <TRANSFORMATION> • KJB 作业XML的根节点是<JOB>
5
KETTLE 历史
• 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.3 ,KETTLE 4.4 (LICENSE 变更为 APACHE 2,支持大数据) • 2013年 KETTLE 5.0 • 2014年 KETTLE 5.1、5.2
• 开源ETL 工具软件
• KETTLE • TALEND • CLOVERETL • KETL,OCTOPUS …
4
KETTLE 基本情况
• 源代码下载地址: • SVN:///SVNKETTLEROOT/KETTLE/TRUNK • 官方文档: • BUG报告地址:/BROWSE/PDI • 官方论坛: • /FORUMDISPLAY.PHP?F=135 • 中文论坛: • 当前版本:VERSION 5.2 • 原作者: MATT • LICENSE: 4.3 以前 LGPL ,4.3 以后改为APACHE 2