1 Kettle简介
Kettle
是一款由纯Java语言开发的免费开源的ETL工具
- ETL即Extract(数据抽取)、Transform(数据转换)、Load(数据加载)
- Kettle 可以在Window、Linux、Unix上运行,绿色无需安装
- 支持各种主流数据库,并提供了图形化的用户界面
- Kettle 中文名是水壶,水壶将汇总不同来源或格式的数据,然后以指定的格式流出
- Kettle 商业化以后,改名为Pentaho,Pentaho是指一系列数据集成、分析及报表工具的集合 ,其中Pentaho Data Integration(PDI)即为以前的Kettle
2 Kettle核心组件
Kettle的概念模型:
Kettle中两个核心的组件服务:转换(Transformation)和作业(Job)
2.1 Transformation
Transformation:针对数据的基础转换
- 负责抽取、转换、加载各个阶段的数据操作处理
- 转换包括一个或多个步骤,如读取文件、请求REST接口、过滤数据等等
- 各个步骤之间通过Hop连接,Hop代表的是一个单向的数据流通道
- Step是Transformation内部的最小单元,每一个Step完成一个特定的功能,Transformation中的Step是并行执行的
Transformation基本功能:
2.2 Job
Job:对整个工作流进行控制
- 通常是一组转换(Transformation)的集合,构建了整个流程
- Entry是Job内部的执行单元,每一个Job Entry用于实现特定的功能,如:读取和过滤文件,验证表是否存在,发送邮件等等
- Hop在Transformation中连接Step,在Job中连接Entry
- Job中的Entry是串行执行的,故Job中必须有一个Start的Entry
Job基本功能: