一.本文编写目的
本文旨在通过本次技术交流,让大家多一些对Kettle的应用了解,互相学习,取长补短。营造良好的学习氛围,提升自己的技术应用水平。
二.Kettle基础理论
- 什么Kettle:
Kettle是一个开源的ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)项目,项目名很有意思,水壶。按项目负责人Matt的说法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。Kettle包括三大块:
Spoon——转换/工作(transform/job)设计工具 (GUI方式)
Kitchen——工作(job)执行器 (命令行方式)
Span——转换(trasform)执行器 (命令行方式)
Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高
效稳定。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。 - Kettle的下载及安装
下载地址:
https://nchc.dl.sourceforge.net/project/pentaho/Pentaho%209.0/client-tools/pdi-ce-9.0.0.0-423.zip
目前最新的版本是9.**,程序是绿色版本,免安装,解压即可使用。 - Kettle的优势和特点
1: 插件架构扩展性好,方便进行二次开发 ;
2:流程式设计方便易用 ;
3:支持多平台、多种方式应用集成 ;
4:全面的数据访问支持 ;
- 转换和作业定义
转换(Transformation) 和 作业(Job)是Spoon设计器的两个核心内容,这两块内容构建了整个Kettle工作流程的基础。
1:转换(Transformation):主要是针对数据的各种处理,一个转换里可以包 含多个步骤(Step)。
2:作业(Job):相较于转换,是更加高级的操作。一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,而转换是一种作业项,即作业里面可以包括多个转换。
- Repository type
Kettle database repository: 基于数据库的元数据存储。
Kettle file repository:基于特定文件的元数据存储。
- 常用插件
谨以此Kettle技术相关在2020.10.24献给所有IT届人士。