您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > KETTLE基本知识培训
11KETTLE基本知识主讲:韦汉靖简介Kettle是一款国外开源的etl工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。2内容一、KETTLE的要求环境(JDK版本)、安装、基本操作。二、KETTLE的组件的类型基本说明(作业与转换)三、基于表对表的同步四、基于文件到表的同步五、基于表到文件的同步六、JAVASCRIPT的基本应用七、文件FTP下载、上传。八、作业调用作业、转换。九、KETTLE自带例子十、KETTLE输出日志说明十一、启动脚本说明。3相关网站信息的要求环境(JDK版本)、安装、基本操作KETTLE要求先安装JDK1.5版本或以上svn下载svn://pentahochina.com/kettle/3.2_xgn无需安装下载后直接运行spoon.bat即可5KETTLE的要求环境(JDK版本)、安装、基本操作6KETTLE的要求环境(JDK版本)、安装、基本操作7KETTLE的要求环境(JDK版本)、安装、基本操作8KETTLE的组件的类型基本说明(作业与转换)Kettle中有两种脚本文件,transformation(转换,后缀为.ktr)和job(作业,后缀为.kjb),transformation完成针对数据的基础转换,好比工厂里的生产流水线,每个组件相当于一个员工;job则完成整个工作流的控制,好比工厂里的管理。如果用记事本打开文件可发现转换和作业都是xml类型文件。9KETTLE的组件的类型基本说明(作业与转换)作业:分串行执行和并行执行,串行执行是先执行完其中一条线再执行另一条线,并行是两条线同时执行,同一条线上的两个步聚会先执行前面的再执行后面的,每个步骤执行结果分两种:true(成功)/false(失败),根据返回结果可以控制流程走向。10KETTLE的组件的类型基本说明(作业与转换)作业流程图说明11KETTLE的组件的类型基本说明(作业与转换)转换:一开始所有步骤同时运行,记录会从最前端的步骤向后传递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再把记录往后传递,记录传递分复制和分发两种模式。12KETTLE的组件的类型基本说明(作业与转换)复制:把一份数据复制成多份,后面步骤各占一份。分发:把一份数据平均分配给后面步骤。13KETTLE的组件的类型基本说明(作业与转换)在转换组件上右键->显示输入字段(显示输出字段)可以查看前面步骤流过来的记录字段情况和该字段是后面步骤传递的字段信息情况。14基于表对表的同步表对表同步是最基本的同步方式之一实现步骤:一、建立源库连接和目标库连接二、使用表输入组件进行源表数据读取三、对记录进行适配整理四、使用表输出组件输出到目标表15基于表对表的同步新建一个转换:文件->新建->转换16基于表对表的同步17基于表对表的同步18基于表对表的同步19基于表对表的同步20基于文件到表的同步新建一个转换流程:从文件读取记录插入到数据库中21基于文件到表的同步22基于文件到表的同步23基于文件到表的同步24基于表到文件的同步新建一个转换实现从表里读取记录生成文件25基于表到文件的同步26基于表到文件的同步27基于表到文件的同步28JAVASCRIPT的基本应用JAVASCRIPT基本语法:varjsStr=“hellokello”;//定义一个字符串变量varjavaStr=newjava.lang.String(“javaString”);//java.lang.String实例writeToLog(“m”,str);//打印字符串到日志输出varnum=1;//定义一个整型vararr=newArray();//定义一个数组无任何元素arr.push(“添加一个元素到数组未位”);vararr1=newArray(3,“FTP补采”);//定义一个数组29JAVASCRIPT的基本应用If…else语句varbool=true;if(bool){//bool值为trueAlert(“正确”);}else{//bool值为falseAlert(“错误”);}30JAVASCRIPT的基本应用for语句vararr=newArray(1,“2”,“thisisstring”);for(vari=0;iarr.length;i++){if(arr[i]==2){Alert(“thevalueis”+arr[i]);}}31JAVASCRIPT的基本应用方法定义varstr=“whj”;//全局变量functionsayHello(name){//带一个参数的方法if(name==null)return“hello“+str;elsereturn“hello“+name;//返回一个字符串}writeToLog(“m”,sayHello());//方法调用32JAVASCRIPT的基本应用异常处理try…catch…try{varvalue=100/0;}catch(e){thrownewjava.lang.Exception(“除数不能为0:+e);}异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高。33JAVASCRIPT的基本应用34文件FTP下载、上传作业:FTP下载从FTP上下载相应文件到指定目录下35文件FTP下载、上传36文件FTP下载、上传37文件FTP下载、上传作业:FTP上传上传本地文件到相应FTP指定目录上38文件FTP下载、上传39文件FTP下载、上传40作业调用作业、转换文件->新建->作业作业可以调用作业,这样方便流程控制。41作业调用作业、转换42作业调用作业、转换作业也可以调用转换43作业调用作业、转换44KETTLE自带例子菜单:文件->从URL打开文件->samples也可以直接到KETTLE工具下的samples目录打开45KETTLE输出日志说明日志输出是检查程序运行情况的重要手段,也是程序维护必不可少的环节。KETTLE在日志输出方面也有很好的控制功能。KETTLE日志输出共分七个等级:没有日志(Nothing)、错误日志(Error)、最小日志(Minimal)、基本日志(Basic)、详细日志(Detailed)、调试日志(Debug)、行级日志(Rowlevel)。默认为基本日志。46KETTLE输出日志说明Nothing:不显示任何输出Error:仅仅显示错误信息Minimal:使用最小的日志Basic:缺省的日志级别Detailed:给出日志输出的细节Debug:调试目的,调试输出Rowlevel:打印出每一行记录的信息47KETTLE输出日志说明作业日志输出说明作业运行状态有两种:true(成功)/false(失败)。注意:失败不代表运行异常、出错。有时只是用来控制流程的一种决策、一种手段。48KETTLE输出日志说明程序异常退出情况49KETTLE输出日志说明转换日志输出说明I:当前步骤生成的记录数(从表输入、文件读入)O:当前步骤输出的记录数(输出到文件、表)R:当前步骤从前一步聚读取的记录数W:当前步骤向后面步骤抛出的记录数U:当前步骤更新过的记录数E:当前步骤处理出错的记录数50启动脚本说明KETTLE程序启动分两种,一种是作业、一种是转换。作业调用启动脚本:kitchen.sh(kitchen.bat)转换调用启动脚本:pan.sh(pan.bat)51启动脚本说明kitchen.sh(span.sh)说明52启动脚本说明Kitchen.bat(span.bat)说明53启动脚本说明WINDOWS系统下的作业启动脚本写法/file作业入口路径/level日志输出等级/logfile日志输出文件54启动脚本说明LINUX系统下的启动脚本写法55启动脚本说明转换调动脚本写法WINDOWS和LINUX系统的启动脚本的写法基本一样,就是pan.sh/pan.bat的区别56
本文标题:KETTLE基本知识培训
链接地址:https://www.777doc.com/doc-4920539 .html