KETTLE基础培训

上传人:痛*** 文档编号:242543783 上传时间:2024-08-27 格式:PPTX 页数:46 大小:1.64MB
返回 下载 相关 举报
KETTLE基础培训_第1页
第1页 / 共46页
KETTLE基础培训_第2页
第2页 / 共46页
KETTLE基础培训_第3页
第3页 / 共46页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Kettle,基础,培训,(,一),目录,一、,Kettle,介绍,二、,Kettle,的,要求环境(,JDK,版本)、安装、基本操作。,三、,Kettle,的,组件的类型基本说明(作业与转换),四、,基于表对表的,同步,五、基于文件到表的同步,六、,基于表到文件的同步,七、,JAVASCRIPT,的基本应用,八、,文件,FTP,下载、上传。,九、,作业调用作业、转换。,十、,启动脚本说明,。,十一、,JAVA,调用作业、转换,十二、使用原则,简介,ETL,ETL(Extract-Transform-Load,的缩写,即数据抽取、转换、装载的过程,),作为,BI/DW,(,Business Intelligence,)的核心和灵魂,能够按照统一,的规则集成并提高数据的价值,是,负责完成,数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。如果说数据仓库的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么,ETL,就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而,ETL,规则设计和实施则是工作量最大的,约占整个项目的,60%,80%,,这是国内外从众多实践中得到的普遍共识。,ETL,是数据抽取(,Extract,)、清洗(,Cleaning,)、转换(,Transform,)、装载(,Load,)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。,简介,Kettle,Kettle,是一款国外开源的,ETL,工具,纯,java,编写,可以在,Window,、,Linux,、,Unix,上运行,绿色无需安装,,数据抽取高效,稳定。,Kettle,中文名称叫水壶,该项目的主程序员,MATT,希望把各种数据放到一个壶里,然后以一种指定的格式流出。,Kettle,这个,ETL,工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。,Kettle,中有,两种脚本文件,,transformation,和,job,,,transformation,工作,流的控制,。,完成针对数据的基础转换,,job,则完成整个,KETTLE,的要求环境(,JDK,版本)、安装、基本操作,KETTLE,要求先安装,JDK1.5,版本或以上,无需安装下载后直接运行,spoon.bat,即可,5,KETTLE,的组件的类型基本说明(作业与转换),Kettle,中有两种,脚本文件,,,transformation,(转换,后缀为,.ktr,)和,job,(作业,后缀为,.kjb,),,transformation,完成针对数据的基础转换,好比工厂里的生产流水线,每个组件相当于一个员工;,job,则完成整个工作流的控制,好比工厂里的管理。,如果用记事本打开文件可发现转换和作业都是,xml,类型文件。,6,KETTLE,的组件的类型基本说明(作业与转换),7,作业:分串行执行和并行执行,串行执行是先执行完其中一条线再执行另一条线,并行是两条线同时执行,同一条线上的两个步聚会先执行前面的再执行后面的,每个步骤执行结果分两种:,true(,成功,)/false(,失败,),根据返回结果可以控制流程走向。,KETTLE,的组件的类型基本说明(作业与转换),8,作业流程图说明,KETTLE,的组件的类型基本说明(作业与转换),9,转换:一传递分复制和分发两种模式,。开始所有步骤同时运行,记录会从最前端的步骤向后传递,传递到相应步骤则该记录被该步骤作相应处理,处理完成再把记录往后传递,记录,KETTLE,的组件的类型基本说明(作业与转换),10,复制:把一份数据复制成多份,后面步骤各占一份。,分发:把一份数据平均分配给后面步骤。,基于表对表的同步,11,表对表同步是最基本的同步方式之一,实现步骤:,一、建立源库连接和目标库连接,二、使用表输入组件进行源表数据读取,三、对记录进行适配整理,四、使用表输出组件输出到目标表,KETTLE,的组件的类型基本说明(作业与转换),12,新建一个转换:文件新建转换,基于表对表的同步,13,基于表对表的同步,14,基于表对表的同步,15,基于表对表的同步,16,基于文件到表的同步,17,新建一个转换,流程:从文件读取记录,插入到数据库中,基于文件到表的同步,18,基于文件到表的同步,19,基于文件到表的同步,20,基于表到文件的同步,21,新建一个转换,实现从表里读取记录生成文件,基于表到文件的同步,22,基于表到文件的同步,23,基于表到文件的同步,24,JAVASCRIPT,的基本应用,25,文件,FTP,下载、上传,26,作业:,FTP,下载,从,FTP,上下载相应文件到指定目录下,文件,FTP,下载、上传,27,文件,FTP,下载、上传,28,文件,FTP,下载、上传,29,作业:,FTP,上传,上传本地文件到相应,FTP,指定目录上,文件,FTP,下载、上传,30,作业调用作业、转换,31,文件新建作业,作业可以调用作业,这样方便流程控制。,作业调用作业、转换,32,作业调用作业、转换,33,作业也可以调用转换,作业调用作业、转换,34,启动脚本说明,35,KETTLE,程序启动分两种,一种是作业、一种是转换。,作业调用启动脚本:,kitchen.sh,(,kitchen.bat,),转换调用启动脚本:,pan.sh,(,pan.bat),启动脚本说明,36,kitchen.sh,(,span.sh,)说明,启动脚本说明,37,Kitchen.bat(span.bat),说明,启动脚本说明,38,WINDOWS,系统下的作业启动脚本写法,/file,作业入口路径,/level,日志输出等级,/logfile,日志输出文件,启动脚本说明,39,LINUX,系统下的启动脚本写法,启动脚本说明,40,转换调动脚本写法,WINDOWS,和,LINUX,系统的启动脚本的写法基本一样,就是,pan.sh/pan.bat,的区别,Java,调用,引用,Kettle jar,包,Java,调用,JOB,传入变量,JOB,文件设置变量:,变量,传递:,Variable substitution,选中,Java,调用,JOB,调用,JOB,JobMeta jobMeta =,new JobMeta(jobPath, null,);,JVM,设置变量:,System.,getProperties().setProperty(key, value);,Job job=new Job(null, jobMeta,);,job.start();,job.waitUntilFinished();,Java,调用,KTR,传入变量,Java,调用,KTR,调用,ktr,TransMeta localTransMeta =,localTransMeta = new,TransMeta(ktrPath);,设置变量,localTransMeta.setVariable(key,value),Trans tran=new Trans(localTransMeta,),tran,.execute(,null,);,tran,.waitUntilFinished,();,使用原则,可以使用sql 来做的一些操作尽量用sql,;,Group , merge , stream lookup ,split field 这些操作都是比较慢的,想办法,避免,它,们.能,用sql 就用sql,尽量,避免使用update , delete 操作,尤其是update , 如果可以把update 变成先delete , 后insert,.,尽量不要用kettle 的calculate 计算步骤,能用数据库本身的sql 就用sql ,不能用sql 就尽量想办法用procedure , 实在不行才是calculate,步骤.,能使用truncate table 的时候,就不要使用delete all row 这种类似sql,尽量提高批处理的commit size,如果删除操作是基于某一个分区的,就不要使用delete row 这种,方式,;,直接,truncate,分区(,ALTER TABLE,tablename,TRUNCATE PARTITION,PART_1,),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!