Java基础与Kettle分析学习笔记001

秉承借助分析Kettle的机会,巩固JavaSE基础,学习优秀源代码程序。

 

1.  Kettle工具 简介

     (1)Kettle 是一款国外开源ETL工具,有两种脚本文件: transformation  和 job。

     (2)transformation 完成针对数据的基础转换。

     (3)job  完成对整个工作流的控制。

注释:ETL 是 数据抽取(Extract),转换(Transform),装载(Load) 的过程。

 

2. Kettle工具里的相关概念

(1) Job : 一个作业,由不同逻辑功能的  entry 组件  构成。

        注释: 数据从一个  entry组件  传递到另一个  entry组件, 并在 entry组件 中进行相应的处理。

(2)Transformation : 完成针对数据的基础转换,即一个数据转换过程。

(3)Entry :  实体,即 job型组件。用来完成特定功能应用,是job的组成单元,执行单元。

(4)Step :  步骤,是Transformation的功能单元,用来完成整个转换过程的一个特定步骤。

(5)Hop : 工作流或转换过程的流向只是,从一个组件指向另一个组件,

                  在kettle 源工程中有三种hop: 无条件流向,判断为真时流向,判断为假时流向。

 

3. 体系结构

Java基础与Kettle分析学习笔记001_第1张图片

备注:这个Kettle 平台是学习核心,上面定义的插件反而无所谓了。可以自己开发自定义插件。

笔注: Kettle平台可以分为四大核心块,可以看出数据集成引擎是其中比较重要的。

(1)元数据管理引擎

1)  元数据管理引擎管理 ktr,kjb 或者元数据库。

2)  插件通过该引擎获取基本信息,主要包括TransMeta,JobMeta和StepMeta 三个类

3)TransMeta 类:定义了一个转换(对应一个.ktr文件),提供了保存和加载该文件的方法

4)JobMeta   类:定义了一个工作(对应一个.kjb文件),提供保存和加载方法

5)StepMeta类:保存的是Step的一些公共信息的类,每个类的具体的元数据将保存在显示了StepMetaInterface的类里面。

(2)数据集成引擎

数据集成引擎包括Step引擎,Job引擎和数据库访问引擎三大部分,主要负责调用插件,并返回相应信息。

(3)UI

UI显示Spoon这个核心组件的界面,通过xul实现菜单栏,工具栏的定制化,显示插件界面接口元素,其中的TransGraph类和JobGraph类是用于显示转换和Job的类

Java基础与Kettle分析学习笔记001_第2张图片

* JobGraph类

Java基础与Kettle分析学习笔记001_第3张图片

(4)插件管理模块

1)Kettle 是众多扩展点(可供插入的地方)和扩展(可以插入的东西)共同组成的集合体。

2)扩展点类似于电源接线板,扩展类似于电线插头

3)Kettle的各种功能点(系统集成或者扩展定义)本质上都是以插件形式存在,其管理方式和运行机制是一致的。

4)插件管理引擎主要负责插件的注册。

5)Kettle的扩展点包括step 插件,job entry插件,Database插件,Partioner插件,debugging插件。

 

笔注:看到这里还是有些懵逼的,仿佛懂一些,但细想其实还是停留在迷雾里。

你可能感兴趣的:(Kettle,Java)