• 0

    用户访问量

  • 0

    注册用户数

  • 0

    在线视频观看人次

  • 0

    在线实验人次

ETL基本构成

作者:云创智学|发布时间:2022-05-13 13:58:53.0|来源:云创智学



1.数据抽取

  所谓数据抽取,就是从源端数据系统中抽取目标数据系统需要的数据。  进行数据抽取的原则:一是要求准确性,即能够将数据源中的数据准确抽取到;二是不对源端数据系统的性能、响应时间等造成影响。数据抽取可分为全量抽取和增量抽取两种方式。

(1)全量抽取

  全量抽取好比数据的迁移和复制,它是将源端数据表中的数据一次性全部从数据库中抽取出来,再进行下一步操作。

(2)增量抽取

增量抽取主要是在第一次全量抽取完毕后,需要对源端数据中新增或修改的数据进行抽取。增量抽取的关键是抽取自上次以来,数据表中已经变化的数据。


例如,在新生入学时,所有学生的信息采集整理属于全量抽取;在后期,如果有个别学生或部分学生需要休学,对这部分学生的操作即属于增量抽取。增量抽取一般有4种抽取模式

① 触发器模式,这是普遍采用一种抽取模式。一般是建立3个触发器,即插入、修改、删除,并且要求用户拥有操作权限。当触发器获得新增数据后,程序会自动从临时表中读取数据。这种模式性能高、规则简单、效率高,且不需要修改业务系统表结构,可实现数据的递增加载。


② 时间戳方式,即在源数据表中增加一个时间戳字段。当系统修改源端数据表中的数据时,同时修改时间戳的值。在进行数据抽取时,通过比较系统时间和时间戳的值来决定需要抽取哪些数据。


③ 全表对比方式,即每次从源端数据表中读取所有数据,然后逐条比较数据,将修改过的数据过滤出来。此种方式主要采用MD5校验码。全表对比方式不会对源端表结构产生影响。


④ 日志对比方式,即通过分析数据库的日志来抽取相应的数据。这种方式主要是在Oracle 9i数据库中引入的。

以上4种方式中,时间戳方式是使用最为广泛的,在银行业务中采用的就是时间戳方式。


2.数据转换

    数据转换就是将从数据源获取的数据按照业务需求,通过转换、清洗、拆分等,加工成目的数据源所需要的格式。数据转换是ETL过程中最关键的步骤,它主要是对数据格式、数据类型等进行转换。它可以在数据抽取过程中进行,也可以通过ETL引擎进行转换。数据转换的原因非常多,主要包括以下3种:

① 数据不完整,指数据库的数据信息缺失。这种转换需要对数据内容进行二次输入,以进行补全。

② 数据格式错误,指数据超出数据范围。可通过定义完整性进行模式约束。

③ 数据不一致,即主表与子表的数据不能匹配。可通过业务主管部门确认后,再进行二次抽取。


3.数据加载

   数据加载是ETL的最后一个步骤,即将数据从临时表或文件中,加载到指定的数据仓库中。一般来说,有直接SQL语句操作和利用装载工具进行加载两种方式,最佳装载方式取决于操作类型以及数据的加载量。


联系方式
企业微信