文章目录
- 1、kettle简述
- 1.1、kettle是什么
- 2、kettle安装配置
- 2.1、先决条件
- 2.1.1、安装jdk8
- 2.2、kettle下载
- 2.3、打开kettle
- 3、kettle基本概念
- 3.1、转换和作业
- 3.2、运行工具
- 3.2.1、SPOON
- 3.2.2、KITCHEN和PAN
- 3.2.3、Carte
- kettle基本使用及常见问题
1、kettle简述
1.1、kettle是什么
Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在2006年,Pentaho公司收购了Kettle项目,原Kettle项目发起人Matt Casters加入了Pentaho团队,成为Pentaho套件数据集成架构师,从此,Kettle成为企业级数据集成及商业智能套件Pentaho的主要组成部分,Kettle亦重命名为Pentaho Data Integration。Pentaho公司于2015年被Hitachi Data Systems收购。(Hitachi Data Systems于2017年改名为Hitachi Vantara)
2、kettle安装配置
2.1、先决条件
kettle是纯java开发,运行前需要准备java环境,新版本需要使用java8以上版本兼容
2.1.1、安装jdk8
下载地址:
https://www.oracle.com/java/technologies/javase-downloads.html
选择相应版本安装即可
2.2、kettle下载
官网地址:
https://www.hitachivantara.com/en-us/products/data-management-analytics.html?source=pentaho-redirect
下载地址:
https://sourceforge.net/projects/pentaho/files/
下载相应版本即可
2.3、打开kettle
下载的kettle压缩包为免安装包,解压pdi软件包,windows下双击spoon.bat打开即可使用,打开比较缓慢,耐心等待
注意:如果有闪退的情况,可能是应该运行内存不足导致的,编辑文件spoon.bat或者spoon.sh,修改内存大小即可
spoon.bat文件修改位置
spoon.sh文件修改位置
3、kettle基本概念
3.1、转换和作业
转换(Transformation)和作业(Job)是Spoon设计器的核心两个内容,这两块内容构建了整个Kettle工作流程的基础
1. 转换(Transformation):主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)
2. 作业(Job):相较于转换,是更加高级的操作。一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,而转换是一种作业项,即作业里面可以包括多个转换
3.2、运行工具
Kettle里有不同的工具,用于ETL的不同阶段。主要工具如下:
-
- Spoon:图形化工具,用于快速设计和维护复杂的ETL工作流
-
- Kitchen:运行作业的命令行工具
-
- Pan:运行转换的命令行工具
-
- Carte:轻量级的(大概1MB)Web服务器,用来远程执行转换或作业,一个运行有Carte进程的机器可以作为从服务器,从服务器是Kettle集群的一部分
3.2.1、SPOON
Spoon是Kettle的集成开发环境(IDE)。它基于SWT提供了图形化的用户接口,主要用于ETL的设计。
在Kettle安装目录下,有启动Spoon的脚本。如Windows下的Spoon.bat,类UNIX下的spoon.sh
3.2.2、KITCHEN和PAN
spoon主要应用与开发、测试、调试阶段,而开发完成后部署到生产环境中时,一般的运行方式都是使用命令的方式运行,这时就需要用到Kitchen和Pan
Kitchen和Pan是kettle的命令运行工具,在概念和用法上都非常相近,这两个命令的参数也基本是一样的,不同的是执行的对象不同;Kitchen用于执行作业,Pan用于执行转换
pan、kitchen、carte的使用可以参考 kettle命令运行工具(pan、kitchen、carte)
3.2.3、Carte
Carte服务用于执行一个作业,就想Kitchen一样。但和Kitchen不同的是,Carte是一个服务,一直在后台运行,而Kitchen只是运行一个作业就退出
当Carte在运行时,一直在某个端口监听HTTP请求。远程机器客户端给Carte发出一个请求,在请求里包含了作业的定义。当Carte接到了这样的请求后,它验证请求并执行请求里的作业。Carte也支持其它几种类型的请求。这些请求用于获取Carte的执行进度、监控信息等
Carte是Kettle集群中一个重要的构建快。集群可将单个工作或转换分成几部分,在Carte服务器的多个计算机上并行执行,因此可以分散工作负载
kettle基本使用及常见问题
参考网站:https://www.kettle.net.cn/
-----------日常记录---------------