Kettle笔记 3 基本概念与操作
-
Upload
zhangmengzhi -
Category
Documents
-
view
216 -
download
2
Transcript of Kettle笔记 3 基本概念与操作
![Page 1: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/1.jpg)
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 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/2.jpg)
Transformation(转换)
Transformation(转换)是由一系列被称之为 step(步骤)的逻辑工作的网
络。转换本质上是数据流。下图是一个转换的例子,这个转换从文本文件中读
取数据,过滤,然后排序,最后将数据加载到数据库。本质上,转换是一组图
形化的数据转换配置的逻辑结构。
转换的两个相关的主要组成部分是 step(步骤)和 hops(节点连接)。转
换文件的扩展名是.ktr。Steps(步骤)是转换的建筑模块,比如一个文本文件输入或者一个表输出
就是一个步骤。在 PDI 中有多个步骤,它们按不同功能进行分类,比如输入类、
输出类、脚本类等。每个步骤用于完成某种特定的功能,通过配置一系列的步
骤就可以完成你所需要完成的任务。Hops(节点连接)是数据的通道,用于连接两个步骤,使得元数据从一个
2
![Page 3: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/3.jpg)
步骤传递到另一个步骤。在上图所示的转换中,它像似顺序执行发生的,但事
实并非如此。节点连接决定了贯穿在步骤之间的数据流,步骤之间的顺序不是
转换执行的顺序。当执行一个转换时,每个步骤都以自己的线程启动,并不断
的接受和推送数据。注意:所以的步骤是同步开启和运行的,所以步骤的初始化的顺序是不可
知的。因为我们不能在第一个步骤中设置一个变量,然后在接下来的步骤中使
用它。在一个转换中,一个步骤可以有多个连接,数据流可以从一个步骤流到多
个步骤。在 Spoon 中,hops 就想是箭,它不仅允许数据从一个步骤流向另一个
步骤,也决定了数据流的方向和所经步骤。如果一个步骤的数据输出到了多个
步骤,那么数据既可以是复制的,也可以是分发的。
Jobs(工作)
Jobs(工作)是基于工作流模型的,协调数据源、执行过程和相关依赖性
的 ETL 活动。 Jobs(工作)将功能性和实体过程聚合在了一起。下图是一个工作的
3
![Page 4: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/4.jpg)
例子。
一个工作中展示的任务有从 FTP 获取文件、核查一个必须存在的数据库表
是否存在、执行一个转换、发送邮件通知一个转换中的错误等。最终工作的结
果可能是数据仓库的更新等。工作由工作节点连接、工作实体和工作设置组成。工作文件的扩展名
是.kjb。
Variable(变量)
根据变量的作用域,变量被分为两类:环境变量和 kettle 变量。环境变量可以通过“编辑”菜单下面的“设置环境变量”对话框进行设置。
使用环境变量的唯一的问题是,它不能被动态的使用。如果在同一个应用服务4
![Page 5: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/5.jpg)
器中执行两个或多个使用同一环境变量的转换,将可能发生冲突。环境变量在
所有使用 jvm 的应用中可见。Kettle 变量用于在一个小的动态范围内存储少量的信息。Kettle 变量是 kettle
本地的,作用范围可以是一个工作或转换,在工作或转换中可以设置或修改。
Set variable 步骤用来设置与此变量有关的工作从此设置其作用域,如:父工作、
祖父工作或根工作。
基本操作
PDI 的图形用户界面(Graphical User Interface,简称 GUI,又称图形
用户接口)做得还是很友好的。
资源库
资源库是用户工作资源的集合,先看看有什么。点击工具栏的“Explore
Repository”或者使用“工具”菜单栏-->资源库-->探索资源库,打开“探索
资源库”的界面。
5
![Page 6: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/6.jpg)
“探索资源库”包括浏览、连接、安全、子服务器、Partions、集群。
“浏览”会展示资源库中的所有工作、转换。目前我们的资源库中没有任何
工作、转换。“连接”用于定义数据库连接配置。如果在工作、转换中使用到
数据库,就要在这里定义数据库连接配置。也可以在配置工作、转换时新创建/
配置。其他的请读者自己试一试。
6
![Page 7: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/7.jpg)
图形编程
Spoon 的 使 用 方 式 类 似 LabVIEW ( Laboratory Virtual Instrumentation
Engineering Workbench , 实验室虚拟仪器工 程平台) , 也 有 点 像 Visual
Basic(VB)。这种方式称为图形编程。图形编程允许非程序员通过拖放虚拟化
形式的 Steps(步骤)和 Hops(节点连接)的方法来生成程序,控制他们已经
熟悉的业务过程。另外图形编程天生地具有并行执行能力。内置的调度算法自
动使用多处理器和多线程硬件,可以跨平台地在可运行的节点上复用线程。新建一个转换试一试。
左边树状结构展示了目前 PDI已定义的所有步骤。
7
![Page 8: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/8.jpg)
点击一个步骤,并拖动到右边的工作区内。
双击工作区内的步骤图标即可编辑这个步骤的属性/配置等,不同的步骤属
性/配置也不相同。下面是“CSV 文件输入”的属性/配置。
8
![Page 9: Kettle笔记 3 基本概念与操作](https://reader036.fdocument.pub/reader036/viewer/2022082723/577ccef31a28ab9e788e7f44/html5/thumbnails/9.jpg)
点击步骤图标,按住 Shift 推动到下一个步骤图标,就可以创建节点连接。
注意节点连接出现后一定要选择“主输出步骤”或“错误处理步骤”,这样代
表节点连接的带箭头线才会生效。
另外还有一些图形界面的一般操作,例如选中步骤图标点击右键出现快捷
菜单、选中步骤图标后按 Delete键删除步骤等,大家自己摸索吧。
9