数据仓库基础(二)ETL

ETL在数据仓库中具有以下的几个特点:

数据流动具有周期性:

因为数据仓库中的数据量巨大,一般采用成熟的ETL工具去完成抽取、转换、加载,以降低设计开发的和维护的复杂度,使设计开发人员有更多的时间去专注于业务转化规则。

ETL是数据抽取、转换、加载的简写。它的一般过程是将数据源抽取出来,中间经过数据的清洗、转换,最后加载到目标表中。ETL的过程一般是批量的。

ETL的本质

1.用户应该理解ETL本质上就是数据从源到目标的过程。

2.大多数的ETL工具价格昂贵,宏观上一般都适合处理海量的数据,但是在微观上需要考虑ETL处理的不同情况。

3.元数据时ETL过程的重要体现,藐视了数据源的属性、数据源到目标库的转换规则,数据抽取历史记录等。

4.构建一个商业智能系统,设计开发人员更多的人喜欢在ETL开始之前先将所有的业务规则弄清楚。

影响ETL数据质量的关键因素:

可能会有一部风数据因为客观或者人为的原因到时数据格式混乱。

源系统设计存在不合理性

在开发过程中,因为开发人员的错误或者设计人员对业务规则描述的问题,同样会导致数据质量出现问题。

保证数据质量的方法:

首先用户必须遵守数据仓库项目中的数据源的质量要求,对业务源数据进行仔细分析,以便对数据源的任何错误或不规范的地方有相应的处理方法,如对错误进行修改或者舍弃

其次,在保证数据源的质量之后,在设计ETl过程中,对每一个步骤应该有一个衡量数据质量的方法,需要重视ETL的每一个过程。

最后,就是规范业务流程,保证ETL正确性,避免误删或者重复加载数据。

其中对质量的衡量有几种方式:

1.定义的数据是否和实际值相同。

2.指标数据是否符合业务规则。

3.数据是否和业务源系统中的信息保持一致。

4.数据时违背自然规律或者不符合常理。

主流的ETL工具有 PowerCenter 和Datastage。ETL 是商业智能的核心和灵魂。

详解ETL过程:

1.数据抽取

   数据抽取就是从源系统中获取业务数据的过程。数据抽取时需要考虑很多的因素,(抽取时间,收取方式,抽取周期等)数据抽取有以下几种情况:

        如果业务操作系统数据库和数据仓库质检的数据库管理系统完全相同,只需要建立相应的连接关系就可以使用ETL工具直接访问,或者调用相应的SQL语句或者存储过程。

        若数据仓库系统和业务操作型数据库的数据管理器不相同,比较简单的方式是使用ETL工具导出成文本文件或者Execl文件,然后再进行统一的数据抽取。

        如果需要抽取的数据量非常的庞大,此时必须考虑增量抽取。

2.数据清洗

   数据清洗就是选择出有缺陷的数据,然后再将他们正确话和规范化,从而达到用户要求的数据质量标准。

3.数据转换

    数据转换就是指从业务系统中抽取的源数据,然后再根据数据仓库模型的需求,进行一系列数据转换的过程。

    数据转换是ETL过程中复杂度最高的过程,包括对数据不一致性的转换,业务指标的计算和某些数据的汇总,为决策系统提供数据支持。

    ETL转换过程中可能包含几个方面:

      对空值进行处理:在进行加载是需要将空值替换成某一数据或者直接进行加载。

      对数据格式规范化:例如:统一将数值型转化为字符型

     根据业务需求进行字段的拆分和合并

      对缺失数据的替换:

      根据业务规则对数据进行过滤

      根据编码表进行数据唯一性的转换:

4.数据加载:
     这是ETL的最后一笔,需要保证加载工具必须有高效的性能去完成数据加载,同时还需要考虑加载的时周期和数据加载的策略。

      数据加载包括:时间戳的加载方式:是比较常见的一种加载方式。

                           全表对比的加载方式、通过读取日志进行加载的方式、全表删除后再进行加载的方式。

5.ETL日志

    ETL日志非常重要,它记录了ETL执行过程中的每一步信息。帮助系统维护人员进行监控,当然ETL日志也可以未做数据加载的一个策略。

ETL设计的规范要点:

1.在ETL设计之前,需要根据业务的需求确定所要分析的主题和数据结构。根据数据仓库的模型,考虑在ETL设计中是否增加预留字段和属性。

2.确定数据的粒度

3.ETL抽取周期的确定。

4.以增量抽取的方式作为ETL设计的重点,减少数据抽取的压力和抽取时间。

5.通常抽取盒清洗可以分成很多步骤

6.对异常情况进行处理。包括网络中断等情况进行处理,保证数据的正确性。

7.对ETL的运行管理和监控措施。

ETL的框架结构:

主要包括:ETL调度、抽取策略、转换策略、加载策略。

统一调度室ETL中较为重要的功能。

1.自动调度方式

2.手动调度方式

原文地址:https://www.cnblogs.com/evencao/p/3135529.html