DATA MINIng

详细的ETL流程

2020-08-10  本文已影响0人  求知笔记

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


详细的ETL流程

从底层向上看

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

数据中心整体架构:

上一篇下一篇

猜你喜欢

热点阅读