没有合适的资源?快使用搜索试试~ 我知道了~
首页ETL 以及 KETTLE 简介
1. 什么是ETL 2. KETTLE简介 2.1. Chef——工作(job)设计器 2.1.1. Chef中的作业项包括: 2.1.2. 工作流 2.1.3. 存储方式 2.1.4. LogView: 2.2. Kitchen——作业执行器 2.3. Spoon——转换过程设计器 2.3.1. Input-Steps:输入步骤 2.3.2. Output-Steps: 输出步聚 2.3.3. Look-up:查找操作 2.3.4. Transform 转换 (嗯,重点) 2.3.5. 除了上述基本节点类型外还定义了扩展节点类型 2.3.6. 其它 2.4. Pan——转换的执行工具 2.5. 其它 2.6. 个人感觉:(本人不成熟的看法) 3. ETL 小结 4. ETL本质 4.1. ETL 特点 4.2. ETL 类型 4.3. ETL 中的转换-Transication 4.3.1. 宏观输入输出方面 4.3.2. 微观规则 4.4. ETL中数据质量 4.5. ETL数据质量保证 4.6. 关于元数据
资源详情
资源评论
资源推荐

ETL 及 KETTLE 简介
ETL 以及 KETTLE 简介
目 录
1. 什么是 ETL.....................................................................................................................................2
2. KETTLE 简介.................................................................................................................................3
2.1. Chef——工作(job)设计器..................................................................................................3
2.1.1. Chef 中的作业项包括:..........................................................................................3
2.1.2. 工作流.......................................................................................................................4
2.1.3. 存储方式...................................................................................................................4
2.1.4. LogView:................................................................................................................4
2.2. Kitchen——作业执行器.....................................................................................................4
2.3. Spoon——转换过程设计器...............................................................................................5
2.3.1. Input-Steps:输入步骤............................................................................................5
2.3.2. Output-Steps: 输出步聚........................................................................................5
2.3.3. Look-up:查找操作.................................................................................................5
2.3.4. Transform 转换 (嗯,重点).....................................................................................6
2.3.5. 除了上述基本节点类型外还定义了扩展节点类型..............................................7
2.3.6. 其它...........................................................................................................................7
2.4. Pan——转换的执行工具....................................................................................................7
2.5. 其它......................................................................................................................................7
2.6. 个人感觉:(本人不成熟的看法).......................................................................................8
3. ETL 小结.........................................................................................................................................9
4. ETL 本质.......................................................................................................................................10
4.1. ETL 特点............................................................................................................................10
4.2. ETL 类型............................................................................................................................11
4.3. ETL 中的转换-Transication..............................................................................................12
4.3.1. 宏观输入输出方面.................................................................................................12
4.3.2. 微观规则.................................................................................................................12
4.4. ETL 中数据质量................................................................................................................13
4.5. ETL 数据质量保证............................................................................................................14
4.6. 关于元数据........................................................................................................................15
第 1 页 共 16 页

ETL 及 KETTLE 简介
1. 什么是 ETL
ETL 即数据抽取(Extract)、转换( Transform)、装载( Load)的过程。它是构建
数据仓库的重要环节。数据仓库是面向主题的、集成的、稳定的且随时间不断变化的数据集合 ,
用以支持经营管理中的决策制定过程。数据仓库系统中有可能存在着大量的噪声数据,引起的主
要原因有:滥用缩写词、惯用语、数据输入错误、重复记录、丢失值、拼写变化等。即便是一
个设计和规划良好的数据库系统,如果其中存在着大量的噪声数据,那么这个系统也是没有任
何意义的,因为“垃圾进,垃圾出”(garbage in, garbage out),系统根本就不可能为决策
分析系统提供任何支持。为了清除噪声数据,必须在数据库系统中进行数据清洗。目前有不少
数据清洗研究和 ETL 研究,但是如何在 ETL 过程中进行有效的数据清洗并使这个过程可视化,
此方面研究不多。本文主要从两个方面阐述 ETL 和数据清洗的实现过程:ETL 的处理方式和数
据清洗的实现方法。
(1) ETL 的处理方式
本文所采用的 ETL 方法是数据库段区域中的 ETL 处理方式,它不使用外部引擎而是使用数
据库作为唯一的控制点。由于源系统 SQLserver2000 是关系数据库,它的段表也是典型的关
系型表。成功地将外部未修改数据载入数据库后,再在数据库内部进行转换。数据库段区域中
的 ETL 处理方式执行的步骤是提取、装载、转换,即通常所说的 ELT。这种方式的优点是为抽
取出的数据首先提供一个缓冲以便于进行复杂的转换,减轻了 ETL 进程的复杂度。
(2) ETL 过程中实现数据清洗的实现方法
首先,在理解源数据的基础上实现数据表属性一致化。为解决源数据的同义异名和同名异
义的问题,可通过元数据管理子系统,在理解源数据的同时,对不同表的属性名根据其含义重
新定义其在数据挖掘库中的名字,并以转换规则的形式存放在元数据库中,在数据集成的时候,
系统自动根据这些转换规则将源数据中的字段名转换成新定义的字段名,从而实现数据挖掘库
中的同名同义。
其次,通过数据缩减,大幅度缩小数据量。由于源数据量很大,处理起来非常耗时,所以
可以优先进行数据缩减,以提高后续数据处理分析效率。
最后,通过预先设定数据处理的可视化功能节点,达到可视化的进行数据清洗和数据转换
的目的。针对缩减并集成后的数据,通过组合预处理子系统提供各种数据处理功能节点,能够
以可视化的方式快速有效完成数据清洗和数据转换过程。
第 2 页 共 16 页

ETL 及 KETTLE 简介
2. KETTLE 简介
现在是一个 Google 的时代,而对于开发者,开源已成为最重要的参考书。对于某课题,不
管你是深入研究还是初窥门径。估且 google 一把,勾一勾同行的成就,你必会获益良多。
说到 ETL 开源项目,Kettle 当属翘首,项目名称很有意思,水壶。按项目负责人 Matt 的说
法:把各种数据放到一个壶里,然后呢,以一种你希望的格式流出。呵呵,外国人都很有联想
力。
看了提供的文档,然后对发布程序的简单试用后,可以很清楚得看到 Kettle 的四大块:
Chef——工作(job)设计工具 (GUI 方式)
Kitchen——工作(job)执行器 (命令行方式)
Spoon——转换(transform)设计工具 (GUI 方式)
Span——转换(trasform)执行器 (命令行方式)
2.1.Chef——工作(job)设计器
这是一个 GUI 工具,操作方式主要通过拖拖拉拉,勿庸多言,一看就会。
何谓工作? 多个作业项,按特定的工作流串联起来,开成一项工作。正如:我的工作是软
件开发。我的作业项是:设计、编码、测试!先设计,如果成功,则编码,否则继续设计,编
码完成则开始设计,周而复始,作业完成。
2.1.1. Chef 中的作业项包括:
转换
:指定更细的转换任务,通过 Spoon 生成。通过 Field 来输入参数;
SQL:sql 语句执行;
FTP:下载 ftp 文件;
邮件
:发送邮件;
检查表是否存在
;
检查文件是否存在
;
执行
shell
脚本
:如 dos 命令。
批处理
:(注意:windows 批处理不能有输出到控制台)。
Job
包
:作为嵌套作业使用。
JavaScript
执行
:这个比较有意思,我看了一下源码,如果你有自已的 Script 引擎,可
以很方便的替换成自定义 Script,来扩充其功能;
SFTP:安全的 Ftp 协议传输;
HTTP
方式的上
/
下传
。
第 3 页 共 16 页

ETL 及 KETTLE 简介
2.1.2. 工作流
如上文所述,工作流是作业项的连接方式。分为三种:无条件,成功,失败,为了方便工
作流使用,KETTLE 提供了几个辅助结点单元(也可将其作为简单的作业项):
Start
单元
:任务必须由此开始。设计作业时,以此为起点。
OK
单元
:可以编制做为中间任务单元,且进行脚本编制,用来控制流程。
ERROR
单元
:用途同上。
DUMMY
单元
:什么都不做,主要是用来支持多分支的情况,文档中有例子。
2.1.3. 存储方式
支持 XML 存储,或存储到指定数据库中。
一些默认的配置(如数据库存储位置……),在系统的用户目录下,单独建立了一个.Kettle
目录,用来保存用户的这些设置。
2.1.4. LogView:
可查看执行日志。
2.2.Kitchen——作业执行器
是一个作业执行引擎,用来执行作业。这是一个命令行执行工具,没啥可讲的,就把它的
参数说明列一下。
-rep : Repository name 任务包所在存储名
-user : Repository username 执行人
-pass : Repository password 执行人密码
-job : The name of the job to launch 任务包名称
-dir : The directory (don't forget the leading / or \)
-5le : The 5lename (Job XML) to launch
-level : The logging level (Basic, Detailed, Debug, Rowlevel, Error,
Nothing) 指定日志级别
-log : The logging 5le to write to 指定日志文件
-listdir : List the directories in the repository 列出指定存储中的目录结构。
-listjobs : List the jobs in the speci5ed directory 列出指定目录下的所有任务
-listrep : List the de5ned repositories 列出所有的存储
-norep : Don't log into the repository 不写日志
嗯,居然不支持调度。看了一下文档,建议使用操作系统提供的调度器来实现调度,比
第 4 页 共 16 页
剩余15页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论1