一、kettle简介
1. kettle的发展史
Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。KDE源于最开始的计划是在K Desktop Environment(www.kde.org)上开发这个软件,但这个计划被取消。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师,从此,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部分,Kettle亦重命名为Pentaho Data Integration(PDI)。Pentaho公司于2015年被Hitachi(日立) Data Systems收购,Hitachi Data Systems于2017年改名为Hitachi Vantara。
Pentaho Data Integration以Java开发,支持跨平台运行,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Pentaho Data Integration分为商业版与开源版,开源版的截止2021年1月的累计下载量达836万,其中19%来自中国。在中国,一般人仍习惯把Pentaho Data Integration(PDI)的开源版称为Kettle。
2. kettle 与ETL
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)
在各个企业中,对数据的处理几乎成为其数字化发展的必要流程,而数据的处理,无外乎抽取、统计分析、转换、装载,因此,各个企业目前都需要ETL工程师来完成数据的处理工作。
kettle是一个ETL工具,允许管理来自不同异构数据源的数据,并在基于图形化的工具中,完成对ETL的操作。
3. kettle的架构
Transformation:转换
- 在大部分场景下,可以直接称之为“数据流”
- 它可以完成对数据的【输入】-->【处理】-->【输出】
- 一旦启动一个转换任务,则其中的所有组件会同时启动,并根据配置,逐条处理数据
Job:作业
- 作业可以称之为步骤流或者控制流
- 在作业中,可以挂载(调用)转换任务,也可以挂载(调用)job任务
- 作业中的各个组件,按照顺序执行,可以对执行的结果进行判断并处理分支
- 作业可以检测数据表、文件是否存在,执行Shell脚本,执行SQL脚本,获取数据,发送邮件等
核心组件:
组件 |
描述 |
spoon |
【勺子】是kettle的图形化工具,可以通过简单的拖拉拽方式完成kettle任务的设计、运行与调试,为kettle最常用的组件。 |
Pan |
【煎锅】Transformation执行器(命令行方式),Pan用于在终端执行Transformation,没有图形界面 |
Kitchen |
【厨房】Job执行器(命令行方式),Kitchen用于在终端执行Job,没有图形界面。 |
Carte |
嵌入式Web服务,用于远程执行Job或Transformation,Kettle通过Carte建立集群 |
4. kettle的特点
- 免费开源:基于java的免费开源的软件,对商业用户也没有限制,可以在任何的公司中使用。
- 容易配置:可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
- 兼容各种数据源:ETL工具集,它允许你管理来自不同数据库的数据。
- 简单开发:通过图形界面设计与开发任务,无需写代码实现。
二、kettle的安装
下载地址:https://community.hitachivantara.com/s/article/data-integration-kettle
目前最新的版本为9.3版本,在此我们使用9.1版本的kettle进行安装
安装要求:
- 安装所在的服务器或者Windows中,需要jdk1.8
在获取到压缩包之后,将压缩包解压至无中文路径下即可,注意,是整体路径中,任何一级目录中都不包含中文
解压后的目录结构如下:
三、kettle的初体验
需求:将一个csv文件中的数据内容输出到Excel文件中
1. 新增转换任务
新增一个转换任务的方式:
2. 配置csv输入组件(step)
3. 配置Excel输出组件(step)
1)通过拖拽的方式将Excel输出放入编辑页面中
2)将输入组件与输出组件连接到一起:
3)双击Excel输出组件,对内容进行配置
4. 创建作业(job)
1)双击【主对象树】中的作业或点击【文件】-【新建】-【作业】
2)每个任务由一个start组件开始
5. 在作业中挂载转换任务
配置转换任务与结束节点
6. 测试运行
保存任务并执行
四、kettle名词解释
1. 转换
转换(transformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各阶段各种对数据的操作。转换包含一个或多个“Step-步骤”,例如读取文件,过滤数据,数据加载等操作都是步骤。转换里的步骤通过“Hop-跳”来连接,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动。此外,转换中的每个步骤还可以注释,目的主要是使转换文档化。
每个“Transformation-转换”对应的保存文件名称为“xx.ktr”
2. Step-步骤
Step是转换里的基本组成部分。
“CSV文件输入”
标签:kettle,转换,精讲,Kettle,收藏,Pentaho,组件,ETL From: https://blog.csdn.net/wozhendeyumenle/article/details/143896466