ETL实施过程研究_百度文库_第1页
ETL实施过程研究_百度文库_第2页
ETL实施过程研究_百度文库_第3页
ETL实施过程研究_百度文库_第4页
ETL实施过程研究_百度文库_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈丽娟等:ETL 实施过程研究 11期 作者简介:沈丽娟, 女, 北京理工大学管理与经济学院, 硕士, 研究方向:数据仓库, E-mail:lijuan.shen 。摘要:本文介绍了数据仓库中 ETL 的原理和主要功能, 总结了 ETL 在数据仓库实施中应注意的问题。关键词:数据仓库; 数据抽取; 数据转换; 数据装载 学科分类号:F316.20文献标识码:AETL 实施过程研究沈丽娟金丹(北京理工大学管理与经济学院, 北京 100081第 5卷第 11期 2005年 11月 1671-1807(2005 11-0071-02CVol.5No.11Nov. 20052005Sci. Tech.

2、 Ind.科 技 和 产 业Science Technology and Industry 1ETL 的基本内容ETL (Extraction 、 Transformation 和 Loading 即数据 的抽取、 转换与加载。 ETL 是从各种原始的业务系统 (异构多源 中提取数据, 按照预先设计好的规则将抽 取到的数据进行转换, 最后将转换完的数据按计划增 量或全部导入到目标数据库或数据仓库中。 数据仓库 系统建设中, ETL 从不同异构数据源流向统一的目标数据 1。在数据的抽取阶段,需要确定所有内部数据源。 对所有计算机平台和数据抽取的所有源文件进行详 细说明。如果还有外部数据源, 要决

3、定内部数据结构 和外部数据结构的兼容性, 而且要指出数据抽取的方 法 2。数据转换是将源数据变为目标数据的关键环节。 在数据的转换阶段, 包括数据格式转换、 数据类型转 换、 数据汇总计算、 数据拼接等等。由于源数据都有一定的缺点, 所以, 在源数据进 数据仓库数据库之前, 必须被加工处理, 其中包括数 据转换、 数据清洗、 数据合并等内容。数据的加载是根据用户定义的加载规则将数据 缓冲区的数据直接送到数据仓库中对应的表中。2统一的元数据和合理的设计业务模型ETL 按照统一的规则集成并提高数据的价值,是 负责完成数据从数据源向目标数据仓库转化的过程, 是事实数据仓库的重要步骤。 2.1统一的元

4、数据设计一个描述能力强、 内容完善的元数据, 是有 效管理数据仓库的具有决定意义的前提, 因此元数据的设计在整个数据仓库设计中占有重要的地位, 是数据仓库设计的一个重要组成部分 3。目前在业务应用系统的异构性与分布性越来越普遍的情况下, 统一的元数据就显得越发重要了。随 着企业的信息系统不断增加而形成的一个个 “信息孤 岛” 是很多企业目前应用的现状。 统一、 合理的元数据 则能有效的描绘出很好的关联性。元数据对于 ETL 过程产生影响的集中表现为:1 定义数据源的位置及数据源的属性。 2 定义从源数据 到目标数据的对应规则。 3 确定相关的业务逻辑。 4 在数据实际加载前的其他必要的准备工作

5、。在数据仓库中元数据贯穿整个数据仓库项目的 始终, ETL 的所有过程都必须最大化的参照元数据。 2.2合理的设计业务模型在数据仓库的设计过程中, 合理的设计业务模型 对 ETL 是至关重要的, 数据仓库是企业唯一、 真实、 可 靠的综合数据平台。 数据仓库的设计建模一般依照三 范式、 星型模型、 雪花模型。 数据仓库的模型设计通常 都采用星型模型的设计方法。无论采用哪种设计思想, 都应最大化的涵盖关键 业务数据, 把业务系统中杂乱无序的数据结构统一成 为合理的、 关联的、 分析型的新结构, 而 ETL 则依照模 型的定义去提取数据源, 进行转换、 清洗, 并最终加载 到目标数据仓库中。 业务

6、模型的重要之处在于对数据 做标准化定义, 实现统一的编码、 统一的分类和组织。3高质量的数据是数据仓库成功的关键要想使数据仓库成功的建立, 高质量的数据往往是关键的因素。经验告诉我们, 纵然整个数据仓库的 业务模型构架非常理想, 但是数据的质量往往是致命科 技 和 产 业 5卷的。一个数据仓库能否成功建立, 非常依赖于数据的 质量。影响数据质量问题的因素很多, 在源数据处造成 数据质量问题的因素有以下几点:(1 数据格式错误。 例如缺失数据、 数据值超出范 围或是数据格式非法等。 要知道对于同样处理大数据 量的数据源系统, 他们通常会舍弃一些数据库自身的 检查机制, 例如字段约束等。尽可能将数

7、据检查在入 库前保证质量, 但是这一点是很难确保的。这类情况 诸如身份证号码、 手机号、 非日期类型的日期字段等。 (2 数据一致性。 同样, 数据源系统为了性能的考 虑, 会在一定程度上舍弃外键约束, 这通常会导致数 据不一致。 例如在帐务表中会出现一个用户表中没有 的用户 ID , 再例如有些代码在代码表中找不到等。 (3 业务逻辑的合理性。 通常, 数据源系统的设计 并不是非常严谨, 例如让用户开户日期晚于用户销户 日期都是有可能发生的, 一个用户表中存在多个用户 ID 也是有可能发生的。 对这种情况。 尤其当客户的业 务系统本身对业务逻辑联系就更加难以保证。 而在 ETL 过程中对数据

8、的准确性产生重大的影 响的因素有:(1 规则描述错误。设计人员对数据源系统理解 的不充分, 导致规则理解错误, 这是一方面。另一方 面, 是规则的描述, 如何无二义性地描述规则也是要 探求的一个课题。规则是依附于目标字段的, 但是规 则总不能总是用文字描述, 必须有严格的数学表达方 式。(2 ETL 开发错误。即使规则很明确, ETL 开发的 过程中也会发生一些错误, 例如逻辑错误、 书写错误 等。再例如对于一个分段值, 开区间闭区间是需要指 定的, 但是常常开发人员没注意, 一个大于等于号写 成大于号就会导致数据错误。(3 人为处理错误。在整体 ETL 流程没有完成之 前, 为了图省事, 通

9、常会手工运行 ETL 过程, 这其中一 个重大的问题就是你不会按照正常流程去运行了, 而 是按照自己的理解去运行, 发生的错误可能是误删了 数据、 重复装载数据等。对于 ETL 数据质量问题, 这是无法根治的, 但必 须有保障手段。从以往的经验看, 没有保障手段给实 施人员带来麻烦重重。 这个保障手段就是数据验证机 制, 当然, 它的目的是能够在 ETL 过程中监控数据质量, 产生报警。这个模块要将实施人员当作是最终用 户, 可以说他们是数据验证机制的直接收益者。 在质量度量方法的前提下, 就可以建立一个数据 验证框架, 下面提出几点功能上的建议:(1 提供前端。 将开发实施人员当作用户, 同

10、样也 要为之提供友好的用户界面。例如用 OLAP 的方式提 供界面, 不光是加上测试统计出来的指标结果, 并且 配合度量方法的计算。 例如误差率, 对于误差率大于 0的指标, 就要好好查一下原因了。(2 提供框架。 数据质量的验证不是一次性工作, 而是每次 ETL 过程中都必须做的。因此, 必须有一个 框架, 自动化验证过程, 并提供扩展手段, 让实施人员 能够增加验证范围。有了这样一个框架, 就能起到规 范化操作的作用。 这样, 实施人员可以在每次装载, 甚 至在流程过程中就可以观察数据的误差率。特别是, 如果数据仓库的模型能够统一起来, 甚至数据验证脚 本都可以确定下来, 剩下的就是规范流

11、程了。(3 规范流程。上面提到有一种 ETL 数据质量问 题是由于人工处理导致的, 其中最主要原因还是流程 不规范。 开发实施人员运行单独一个 ETL 单元是很方 便的, 虽然以前曾建议一个 ETL 单元必须是 “可重入” 的, 这能够解决误删数据、 重复装载数据问题。 但要记 住数据验证也是在流程当中, 要让数据验证能够日常 运作, 就不要让实施者感觉到他的存在。 总的来说, 规 范流程是提高实施效率的关键工作, 这也是以后要继 续探求的。参考文献1杜远宗, 张金刚 . ETL 工具在建设数据仓库中的应用 . 中国 科技信息 2005, (8 :542段云峰, 李剑威, 韩洁, 宋美娜 . 数据仓库基础 . 北京:电子 工业出版社 . 2004:1853王珊等 . 数据仓库技术与联机分析处理 . 北京:科学出版 社 . 1998.6:31-324Vassilia dis P , Simitisis A , Skiadopoulos . Conceptual Modeling for ETL process. Information Systems , 2005, (30 : 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论