Kettle笔记 3 基本概念与操作

7
Kettle 笔笔 3 笔笔笔笔笔笔笔 笔笔 笔笔 2014-03-17 笔笔笔笔 [email protected] Kettle 笔笔 3 笔笔笔笔笔笔笔 笔笔笔笔 Kettle 笔笔 PDI 2006 笔 Kettle 笔笔笔笔笔笔 BI 笔笔 Pentaho, 笔笔笔笔 笔 PDI Pentaho Data IntegerationKettle 笔“Kettle E.T.T.L. Envirnonment”笔 笔 ETL笔 笔 笔 笔 :、、。 笔笔笔 Kettle 笔笔笔笔笔笔笔笔笔 Job 笔笔笔笔笔笔笔 (、) Transformation 笔笔笔 ()。。 Transformation () Transformation 笔笔笔 ()一 step 笔笔笔笔笔笔笔笔笔笔笔笔 ()。。一,,,,。,一。 1

Transcript of Kettle笔记 3 基本概念与操作

Page 1: Kettle笔记 3 基本概念与操作

Kettle 笔记 3 基本概念与操作作者:张孟志日期:2014-03-17

联系方式:[email protected]

Kettle 笔记 3 基本概念与操作

基本概念

Kettle 也叫 PDI,在 2006 年 Kettle 加入了开源的 BI 组织 Pentaho, 正

式命名为 PDI,英文全称为 Pentaho Data Integeration。Kettle 是“Kettle

E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实

现你的 ETL 需要:抽取、转换、装入和加载数据。要 了 解 Kettle 的 执 行 分 为 两 个 层 次 : Job ( 流 程 、 作 业 ) 和

Transformation(转换)。两个层次的最主要区别在于数据传递和运行方式。

1

Page 2: Kettle笔记 3 基本概念与操作

Transformation(转换)

Transformation(转换)是由一系列被称之为 step(步骤)的逻辑工作的网

络。转换本质上是数据流。下图是一个转换的例子,这个转换从文本文件中读

取数据,过滤,然后排序,最后将数据加载到数据库。本质上,转换是一组图

形化的数据转换配置的逻辑结构。

转换的两个相关的主要组成部分是 step(步骤)和 hops(节点连接)。转

换文件的扩展名是.ktr。Steps(步骤)是转换的建筑模块,比如一个文本文件输入或者一个表输出

就是一个步骤。在 PDI 中有多个步骤,它们按不同功能进行分类,比如输入类、

输出类、脚本类等。每个步骤用于完成某种特定的功能,通过配置一系列的步

骤就可以完成你所需要完成的任务。Hops(节点连接)是数据的通道,用于连接两个步骤,使得元数据从一个

2

张孟志, 14年3月17日,
“Kettle file repository”类型资源库保存的文件,其实是一个XML文件。这种方式要比“Kettle database repository”类型资源库更容易移植。从“文件”菜单下的“从XML文件导入”可以导入。
Page 3: Kettle笔记 3 基本概念与操作

步骤传递到另一个步骤。在上图所示的转换中,它像似顺序执行发生的,但事

实并非如此。节点连接决定了贯穿在步骤之间的数据流,步骤之间的顺序不是

转换执行的顺序。当执行一个转换时,每个步骤都以自己的线程启动,并不断

的接受和推送数据。注意:所以的步骤是同步开启和运行的,所以步骤的初始化的顺序是不可

知的。因为我们不能在第一个步骤中设置一个变量,然后在接下来的步骤中使

用它。在一个转换中,一个步骤可以有多个连接,数据流可以从一个步骤流到多

个步骤。在 Spoon 中,hops 就想是箭,它不仅允许数据从一个步骤流向另一个

步骤,也决定了数据流的方向和所经步骤。如果一个步骤的数据输出到了多个

步骤,那么数据既可以是复制的,也可以是分发的。

Jobs(工作)

Jobs(工作)是基于工作流模型的,协调数据源、执行过程和相关依赖性

的 ETL 活动。  Jobs(工作)将功能性和实体过程聚合在了一起。下图是一个工作的

3

Page 4: Kettle笔记 3 基本概念与操作

例子。

一个工作中展示的任务有从 FTP 获取文件、核查一个必须存在的数据库表

是否存在、执行一个转换、发送邮件通知一个转换中的错误等。最终工作的结

果可能是数据仓库的更新等。工作由工作节点连接、工作实体和工作设置组成。工作文件的扩展名

是.kjb。

Variable(变量)

根据变量的作用域,变量被分为两类:环境变量和 kettle 变量。环境变量可以通过“编辑”菜单下面的“设置环境变量”对话框进行设置。

使用环境变量的唯一的问题是,它不能被动态的使用。如果在同一个应用服务4

张孟志, 03/17/14,
“Kettle file repository”类型资源库保存的文件,其实是一个XML文件。这种方式要比“Kettle database repository”类型资源库更容易移植。从“文件”菜单下的“从XML文件导入”可以导入。
Page 5: Kettle笔记 3 基本概念与操作

器中执行两个或多个使用同一环境变量的转换,将可能发生冲突。环境变量在

所有使用 jvm 的应用中可见。Kettle 变量用于在一个小的动态范围内存储少量的信息。Kettle 变量是 kettle

本地的,作用范围可以是一个工作或转换,在工作或转换中可以设置或修改。

Set variable 步骤用来设置与此变量有关的工作从此设置其作用域,如:父工作、

祖父工作或根工作。

基本操作

PDI 的图形用户界面(Graphical User Interface,简称 GUI,又称图形

用户接口)做得还是很友好的。

资源库

资源库是用户工作资源的集合,先看看有什么。点击工具栏的“Explore

Repository”或者使用“工具”菜单栏-->资源库-->探索资源库,打开“探索

资源库”的界面。

5

Page 6: Kettle笔记 3 基本概念与操作

“探索资源库”包括浏览、连接、安全、子服务器、Partions、集群。

“浏览”会展示资源库中的所有工作、转换。目前我们的资源库中没有任何

工作、转换。“连接”用于定义数据库连接配置。如果在工作、转换中使用到

数据库,就要在这里定义数据库连接配置。也可以在配置工作、转换时新创建/

配置。其他的请读者自己试一试。

6

张孟志, 14年3月17日,
我并不喜欢一个个罗列。在保证基本使用的前提下,剩下未介绍的内容读者要自己学习了。
Page 7: Kettle笔记 3 基本概念与操作

图形编程

Spoon 的 使 用 方 式 类 似 LabVIEW ( Laboratory Virtual Instrumentation

Engineering Workbench , 实验室虚拟仪器工 程平台) , 也 有 点 像 Visual

Basic(VB)。这种方式称为图形编程。图形编程允许非程序员通过拖放虚拟化

形式的 Steps(步骤)和 Hops(节点连接)的方法来生成程序,控制他们已经

熟悉的业务过程。另外图形编程天生地具有并行执行能力。内置的调度算法自

动使用多处理器和多线程硬件,可以跨平台地在可运行的节点上复用线程。新建一个转换试一试。

左边树状结构展示了目前 PDI已定义的所有步骤。

7

张孟志, 14年3月17日,
也许是个业务专家。
张孟志, 14年3月17日,
这个玩意很有意思。很多实验室都有使用。详细介绍请参考维基百科:http://zh.wikipedia.org/wiki/LabVIEW
Page 8: Kettle笔记 3 基本概念与操作

点击一个步骤,并拖动到右边的工作区内。

双击工作区内的步骤图标即可编辑这个步骤的属性/配置等,不同的步骤属

性/配置也不相同。下面是“CSV 文件输入”的属性/配置。

8

Page 9: Kettle笔记 3 基本概念与操作

点击步骤图标,按住 Shift 推动到下一个步骤图标,就可以创建节点连接。

注意节点连接出现后一定要选择“主输出步骤”或“错误处理步骤”,这样代

表节点连接的带箭头线才会生效。

另外还有一些图形界面的一般操作,例如选中步骤图标点击右键出现快捷

菜单、选中步骤图标后按 Delete键删除步骤等,大家自己摸索吧。

9