Kettle体系结构与源码分析--精选文档
102页1、Kettle程序分析1. 简介ETL是数据抽取(Extract)、转换(Transform)、装载(Load)的过程。Kettle是一款国外开源的ETL工具,有两种脚本文件transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。2. 相关概念Job:一个作业,由不同逻辑功能的entry组件构成,数据从一个entry组件传递到另一个entry组件,并在entry组件中进行相应的处理。Transformation:完成针对数据的基础转换,即一个数据转换过程。Entry:实体,即job型组件。用来完成特定功能应用,是job的组成单元、执行单元。Step:步骤,是Transformation的功能单元,用来完成整个转换过程的一个特定步骤。Hop:工作流或转换过程的流向指示,从一个组件指向另一个组件,在kettle源工程中有三种hop,无条件流向、判断为真时流向、判断为假时流向。3. 体系结构kettle平台是整个系统的基础,包括元数据管理引擎、数据集成引擎、UI和插件管理模块。(1) 元数据管理引擎元数据管理引擎管理ktr、kjb
2、或者元数据库,插件通过该引擎获取基本信息,主要包括TransMeta、JobMeta和StepMeta三个类。TransMeta类,定义了一个转换(对应一个.ktr文件),提供了保存和加载该文件的方法;JobMeta类,同样对应于一个工作(对应一个.kjb文件),提供保存和加载方法;StepMeta类,保存的是Step的一些公共信息的类,每个类的具体的元数据将保存在显示了StepMetaInterface的类里面。(2) 数据集成引擎数据集成引擎包括Step引擎、Job引擎和数据库访问引擎三大部分,主要负责调用插件,并返回相应信息。(3) UIUI显示Spoon这个核心组件的界面,通过xul实现菜单栏、工具栏的定制化,显示插件界面接口元素,其中的TransGraph类和JobGraph类是用于显示转换和Job的类。l TransGraph类TransGraph类与显示选中转换标签后,红框内的编辑区对象对应org.pentaho.di.ui.spoon.trans包中的TransGraph类。l JobGraph类JobGraph类与显示选中Job标签后,红框内的编辑区对象对应org.p
3、entaho.di.ui.spoon.job包中的JobGraph类。(4) 插件管理模块Kettle是众多“可供插入的地方”(扩展点)和“可以插入的东西”(扩展)共同组成的集合体。在我们的生活中,电源接线板就是一种“扩展点”,很多“扩展”(也就是电线插头)可以插在它上面。插件管理引擎主要负责插件的注册,在Kettle中不管是以后的扩展还是系统集成的功能,本质上来讲都是插件,管理方式和运行机制是一致的。系统集成的功能点也均实现了对应的扩展接口,只是在插接的说明上略有不同。Kettle的扩展点包括step插件、job entry插件、Database插件、Partioner插件、debugging插件。4. 功能模块Kettle的主要包括四大功能模块:Chef工作(job)设计工具(GUI方式);Kitchen工作(job)执行器(命令行方式);Spoon转换(transform)设计工具(GUI方式);Span转换(trasform)执行器(命令行方式)。(1) Chef工作(job)设计器这是一个GUI工具,操作方式主要通过拖拽。何谓工作?多个作业项,按特定的工作流串联起来,形成一项
4、工作。正如:我的工作是软件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编码完成则开始设计,周而复始,作业完成。1) Chef中的作业项转换:指定更细的转换任务,通过Spoon生成,通过Field来输入参数;SQL:sql语句执行;FTP:下载ftp文件;邮件:发送邮件;检查表是否存在;检查文件是否存在;执行shell脚本:如dos命令。批处理:(注意:windows批处理不能有输出到控制台)。Job包:作为嵌套作业使用。JavaScript执行:如果有自已的Script引擎,可以很方便的替换成自定义Script,来扩充其功能;SFTP:安全的Ftp协议传输;HTTP方式的上传/下载。2) 工作流工作流是作业项的连接方式,分为三种:无条件,成功,失败。为了方便工作流使用,KETTLE提供了几个辅助结点单元(也可将其作为简单的作业项):Start单元:任务必须由此开始。设计作业时,以此为起点。OK单元:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。ERROR单元:用途同上。DUMMY单元:什么都不做,主要是用来支持多分支的情况。3) 存储方式支持
《Kettle体系结构与源码分析--精选文档》由会员博****1分享,可在线阅读,更多相关《Kettle体系结构与源码分析--精选文档》请在金锄头文库上搜索。
木工板材的区别
会计学、工商管理本科货币银行学复习(秋)
二年级数学上册10的乘法教案沪教版
人工智能发展及其在医学领域中应用
大学生会计实习心得体会及收获最新
储罐基础工程施工组织设计范本(DOC 79页)
精华大班美术教案模板五篇
数学-工作总结7
2022年学习总结与计划
5坚定信心顽强拼搏为全面完成四季度工作任务而努力奋斗要点
CB设计铜铂厚度线宽与电流关系
2013新人教版新目标八年级上册英语Unit3重难点
TED励志青春演讲2022精选
2022年建筑电工(建筑特殊工种)资格证书考试内容及模拟题带答案点睛卷64
沛县产业园区规划及招商引资报告
有关借款协议书精选版(七篇).doc
数学试卷
2016年教师评职称个人工作总结
2023保育员个人年度工作总结(三篇).doc
刘萍萍翻译
2023-12-06 3页
2023-11-24 14页
2023-10-24 6页
2023-07-01 14页
2024-02-29 3页
2022-12-03 5页
2023-06-18 10页
2024-02-09 6页
2023-06-26 9页
2023-02-08 4页