Kettle入门教程
创始人
2024-04-14 22:23:18
0

目录

一、Kettle是什么

二、Kettle的两种设计

三、Kettle核心组件

四、安装与启动

五、使用

5.1 简单介绍

5.2 输入

5.3 输出

5.4 转换

5.5 脚本


一、Kettle是什么

        Kettle最早是一个开源的ETL(Extract-Transform-Load,数据仓库技术)工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。在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)

        PDIJava开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。

        PDI分为商业版开源版,开源版的截止2021年1月的累计下载量达836万,其中19%来自中国。在中国,一般人仍习惯把PDI的开源版称为Kettle

二、Kettle的两种设计

  • Transformation (转换) :完成针对数据的基础转换。
  • Job (作业) :完成整个工作流的控制。

两者的主要区别如下:

  • (1) 作业是步骤流,转换是数据流。这是作业和转换最大的区别
  • (2) 作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件;

三、Kettle核心组件

名称

功能

Spoon.bat / spoon.sh(重点)

通过图形接口,允许你通过图形界面来设计 ETL 转换过程(Transformation)

Pan.bat / pan.sh

运行转换的命令行工具

Kitchen.bat / kitchen.sh

运行作业的命令行工具

Carte.bat / Carte.sh

Carte 是一个轻量级别的 Web 容器,用于建立专用、远程的 ETL Server

四、安装与启动

官网各版本下载地址:Pentaho from Hitachi Vantara - Browse /Data Integration at SourceForge.net

Kettle是免安装的,解压即可使用,但Kettle是使用Java开发的,所以需要安装Java环境,解压之后,双击Spoon.bat即可运行

五、使用

5.1 简单介绍

首先我们创建一个转换

然后可以看到有很多组件,其中我们最常用的主要是输入、输出、转换、脚本、查询等,下面我们着重介绍一下这几种常用的组件

5.2 输入

可以看到输入的组件非常多,这里标记了一下比较常用的组件,然后用Excel输入举个例子,首先把Excel输入拖到右边的工作区,浏览、添加文件

选择Excel内容如下

选择完文件之后,再选择工作表

选择完工作表之后,再选择字段

以上是Excel输入组件的基本使用

5.3 输出

输出的前提是需要有一个输入(文本文件、Excel、数据库等等),输出的组件会比输入要少一些,下面就用表输出举一个例子

与输入一样,把表输出组件拖到工作区中

既然是表输出,那么第一步我们肯定是需要建立数据库连接,连接的过程与一般的数据库管理工具一致,除此之外还有两个注意的,提交记录数量(默认为1000)和指定数据库字段,提交记录数量就不多提了,这里主要说一下数据库字段映射,也就是上图右边这部分,其实说白了就是建立输入与输出的映射关系,虽然这里的案例输入和输出的字段名都一样,但是实际的场景中肯定会遇到字段名不一样的情况,就可以使用映射的方式建立关联关系。

5.4 转换

输入是起点,输出是终点,转换是中间处理

转换的组件也非常多,而且很多都比较常用,比如去重、字符串操作、增加常量、字段选择等等,这里就以增加常量举例,场景就是在输入源上增加一个常量,或者说增加一个默认值

转换是种流式处理,一个接着一个连接即可

5.5 脚本

有时候现有的组件无法满足我们的定制化需求,这个时候就可以使用脚本来更灵活的实现我们的需求,脚本的功能很强大,很多组件也可以直接通过脚本实现

上一篇:LDcad零件新增与导入

下一篇:命令模式

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...