美文网首页DATA MINIng
详细的ETL流程

详细的ETL流程

作者: 求知笔记 | 来源:发表于2020-08-10 15:54 被阅读0次

    ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。


    详细的ETL流程

    从底层向上看

    1. 所有的数据都来源于业务系统、埋点,日志,但是这些数据很多是用不到的。比如我只需要分析上个月的不同地区、不同年龄段人群的平均下单金额,那么就不需要非相关的数据了。
    2. 所以第二步,我们只需要抽取需要的数据,这个过程即ETL,抽取我们需要的数据作为备份数据,这个过程是实时的,数据的结构与业务系统一致,可以说是完全一摸一样。我们把这个备份数据叫做ODS数据层。
      这里其实是有些小问题的,比如某用户下单了,我们实时的存进ODS,但是过了一个小时,他又退单了,这个时候如何做呢,可以直接修改ODS吗?是不行的,为什么?因为ODS一般是用hadoop去做的,那么修改所耗费的资源很大,数据量很多的时候就会很消耗资源。哪怕不是用hadoop的技术去实现的,比如MongoDB,修改的话也是很麻烦。所以一般都用折中的方式,在每写一个数据时,都会添加额外的时间维度、时间刻度,数据来源。这里的ETL需要实时抽取。
    3. DW层 数据模型层 抽取到ODS后,一般采用每天统一做处理,将数据根据分析目的去做一个数据集市、或者数据仓库(多个数据集市联合)。
      数据集市(模型层)由事实表和维度度构成,建立事实部和维度表之后,数据集市或者数据仓库就初步建成了,接下来需要对这些数据做汇聚就行了。

    数据中心整体架构:

    • DB 是现有的数据来源(也称各个系统的元数据),可以为mysql、SQLserver、文件日志等,为数据仓库提供数据来源的一般存在于现有的业务系统之中。
    • ETL的是 Extract-Transform-Load 的缩写,用来描述将数据从来源迁移到目标的几个过程:
      • Extract,数据抽取,也就是把数据从数据源读出来。
      • Transform,数据转换,把原始数据转换成期望的格式和维度。如果用在数据仓库的场景下,Transform也包含数据清洗,清洗掉噪音数据。
      • Load 数据加载,把处理后的数据加载到目标处,比如数据仓库。
    • ODS(Operational Data Store) 操作性数据,是作为数据库到数据仓库的一种过渡,ODS的数据结构一般与数据来源保持一致,便于减少ETL的工作复杂性,而且ODS的数据周期一般比较短。ODS的数据最终流入DW。
    • DW (Data Warehouse)数据仓库,是数据的归宿,这里保持这所有的从ODS到来的数据,并长期保存,而且这些数据不会被修改。
    • DM(Data Mart) 数据集市,为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也可称为部门数据或主题数据。面向应用。

    相关文章

      网友评论

        本文标题:详细的ETL流程

        本文链接:https://www.haomeiwen.com/subject/fhuhrktx.html