kettle入门

1、了解’E T L‘是什么?

我们说的ETL就是

  1. Extract-Transform-Load

的缩写,即数据抽取、转换、装载的一个过程。

我们在工作中可能要经常解决各种数据的处理,转换,迁移,解决ETL这种过程的话掌握一种工具是最方便的,kettle就是这样一种ETL工具。

2、kettle的介绍

1、什么是kettle?

3、kettle数据采集 - 图1

总结来说:

  • 无需安装,高效稳定:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
  • kettle是数据抽取并转换的“水壶”:该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
  • kettle是ETL工具集:它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
  • 两种脚本文件:transformation(.ktr)和job(.kjb),transformation完成针对数据的基础转换,job则完成整个工作流的控制。

3、kettle数据采集 - 图2

2、kettle的结构

3、kettle数据采集 - 图3

左边结构:

3、kettle数据采集 - 图4

  • Data Integration Server是能够监测到活动进行时间;
  • Spoon是构建工具;

右边结构:

3、kettle数据采集 - 图5

3、kettle的一些核心组件

Chef(中文:厨师)、Kitchen(中文:厨房)、Spoon(中文:勺子)、Pan(中文:平底锅)

3、kettle数据采集 - 图6

3、kettle数据采集 - 图7

3、kettle概念模型

3、kettle数据采集 - 图8

Kettle的执行分为两个层次:

  • Job
  • Transformation
    这两个层次的最主要的区别在于数据的传递和运行方式。

Transformation分两步:

3、kettle数据采集 - 图9

3.1、Transfprmation

是定义对数据怎么操作的容器,数据操作是指数据从输入到输出的过程。它可以理解为比job粒度更小的容器,通俗点说,我们先将任务分解成job,再将job分解成transformation,然后每个transformation只完成一小部分工作。

3.2、job

负责将一个个Transformation组织在一起进而完成某一项工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的Job,当这几个Job都完成了,也就说明这项任务完成了。

3.3、step

是Transformation内部的最小单元,每一个Step完成一个特定的功能。

3.4、job Entry

3、kettle数据采集 - 图10

4、kettle的下载解压

4.1、kettle解压后的目录

image.png

3、kettle数据采集 - 图12

3、kettle数据采集 - 图13

5、kettle的环境部署

5.1、kettle的运行需要JDK支持

由于Kettle是由java语言开发,该软件的允许需要java运行环境的依赖,需要先安装好JDK,准备好运行环境。

5.2、环境变量配置

和JDK一样,配置一个“KETTLE_HOME”

3、kettle数据采集 - 图14

3、kettle数据采集 - 图15

6、kettle的图形界面

点击.bat文件运行Spoon工具图形界面

3、kettle数据采集 - 图16

3、kettle数据采集 - 图17

7、kettle界面板块介绍

3、kettle数据采集 - 图18

3、kettle数据采集 - 图19

8、转换初体验

8.1、新建转换并命名保存

打开“输入”,鼠标拖动“CSV文见输入”到工作区

3、kettle数据采集 - 图20

双击“控件”

3、kettle数据采集 - 图21

获取字段

3、kettle数据采集 - 图22

点击预览

3、kettle数据采集 - 图23

打开“输出”

3、kettle数据采集 - 图24

双击“输出控件”

3、kettle数据采集 - 图25

点击“运行”

3、kettle数据采集 - 图26

点击“启动”

3、kettle数据采集 - 图27

执行结果详解

3、kettle数据采集 - 图28

9、kettle的核心概念

3、kettle数据采集 - 图29

9.1、转换

3、kettle数据采集 - 图30