数据仓库ETL 概念及实现<1>

本文介绍了数据仓库ETL过程,包括数据抽取、转换和加载的详细步骤。数据抽取关注数据文件格式、过滤和抽取策略;数据转换涉及数据清洗和格式统一;数据入库则讨论了如何将处理后的数据加载到数据仓库。ETL实现方式有数据库外部、数据库段区域和数据库内部处理,各有优缺点,其中数据库中的ETL处理更适用于复杂数据清洗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  ETL是数据仓库的第一步,指的是数据的EXTRACT、TRANSFER、LOAD三个步骤,解释分别是从操作系统中抽取,数据转化,入库。
  数据抽取:
  1. 抽取的数据文件格式要接近源系统的数据结构(这一点为了稳定、易于理解)。
  2. 抽取过程中需要过滤掉数据仓库不需要的数据记录以及字段,这样会减少文件抽取、后续入库、转换的压力。对于记录数可以使用增量、全量的抽取方式,字段可以预先定义(这样做会有一些弊端,比如数据仓库中用户的分析需求是变化的,可能后续会需要增加某些字段或者记录的导出)。
  3. 一般来讲,数据抽取需要减少对源系统的影响,和其他团队的依赖,并减少网络依赖;为了减少对源系统的影响,如果对数据的时效性要求不高的话,可以一定时间段比如每小时、每天抽取一次数据文件;抽取文件的时间选择系统不被使用、或者低频的时间;对于某些 系统,由于抽取文件时间较长、不同系统之间有着不同的监管需求,可以采用建立备库,使得对数据抽取工作集中在备库上进行,减少对核心系统的访问与修改,规避源系统风险。
  数据转换:
  数据转换一般来讲,包含数据清洗、与转换,是将源系统抽取出来的文件进行过滤,格式转换生成可以直接加载到数据仓库的文本文件,进行入库(数据结构与数据仓库中的表定义一致)。
  数据清洗: 过滤掉不符合条件或者错误的数据(这种 情况一般发生在 源系统尚不稳定、数据仓库建立初期),不过对于比较成熟的数据仓库 ,会建立一定的监测机制进行一些特殊校验,例如数据是否符合业务规则,比如两张报表的数据金额无法对的上,需要告知业务人员进行确认等等。
  数据转换:对于不一致的数据进行转化:来自不同源系统的数据进行统一(客户号的统一等),字段类型,空值转换。
  数据入库:
数据入库是在数据仓库中进行的,将原有数据使用insert/load等方式进行入库。
  ETL过程的实现:
  ETL这个过程的目标是完成从不同系统将数据抽取 、清洗、导入数据仓库 以便于后续的分析使用。目前的ETL过程实现主要有下面几种方式:
  1. 数据库外部的ETL处理
  顾名思义,指的是大多数据的转换工作都在数据库之外处理。这些ETL过程独立,可以与多种数据源协同工作,将数据源进行集成。这种操作的优点是 执行速度比较快。缺点是大多数ETL步骤中的可扩展性必须由数据库的外部机制提供,如果外部机制不具有可扩展性,那ETL处理就不能扩展。
  2. 数据库段区域中的ETL处理。
  这种ETL过程使用数据库作为唯一的控制点。多种数据源的原始数据大部分未做修改就被载入到中立的段结构中。如果源系统是关系数据库,段表将是典型的关系数据库;否则数据将被分段置于包含列VARCHAR(4000)的表中,以便在数据库中进行转换。数据库段区域的处理方式是ELT。在实际数据仓库中经常采用 这种方式。优点是抽取的数据首先是提供一个缓冲以便于进行复杂的转换,减轻了ETL进程的复杂度。 缺点是:在段表中存贮中间结果和来自数据库中源系统的原始数据时,转换过程将中断; 大多数转换可以使用类SQL的数据库功能来解决,但是不是处理所有的ETL问题的最优语言。
  3. 数据库中的ETL处理
数据库中的ETL处理方式 使用数据库作为完整的数据转换引擎,在转换过程中不使用段。数据库中的ETL处理具有数据库段区域中的ETL处理的优点,同时充分利用而数据库的数据转换引擎功能,但是这要求数据库必须完全具有这种转换引擎功能。目前的主流数据库产品Oracle9i[5]等可以提供这种功能
  综上分析三种ETL处理方式,数据库外部的ETL处理可扩展性差,不适合复杂的数据清洗处理,数据库段区域中的ETL处理可以进行复杂的数据清洗,而数据库中的ETL处理具有数据库段区域ETL处理的优点,又利用了数据库的转换引擎功能。所以为了进行有效的数据清洗,应该使用数据库中的ETL处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值