Flink系列之Flink的应用场景(二)

        从接触数仓就开始听说ETL,ETL也始终贯传数仓仓库,问大家一个问题,ETL在数仓领域家喻户晓的原因是因为它简单吗? 答案是:恰恰是因为其复杂和重要

        那么ETL解决了什么问题呢?我们为什么需要ETL?

多源

        解决的是数据孤岛的问题。

        我们有了数据全局观,才能真正去做商业智能(BI)


ETL主要应用:

1.数据完整性:由于各个子业务系统的收集的信息不完整,比如字段缺失的情况

2.格式不统一:如日期格式

3.错误数据:比如由于不小心造出的,比如全角半角问题,错误的数据类型

4.重复数据:维度表更需要关注

5.数据聚合:有些明细数据不是数据仓库中需要的,一般不会进行聚合操作,一定程度也减少数量

6.规则过滤:由业务导致,某些数据不需要进行提取,那么就要进行提取过滤

7.其他:如url

作用

ETL的周期性和同步方式

ETL往往是一个持续的周期性的过程,不是一次性的工作,所以会根据数据量的不同周期性(小时/天/月)的进行

1.增量方式:大多数场景的数据提取是增量进行的,最常见的是每天提取一次业务系统的当天数据增量。那么增量的提取的业务时间区间(比如天)就决定了ETL周期性

2.全量方式:这种方式多数对某些业务系统是文件存储方式,无法识别增量数据,必须进行全量的数据提取。这种方式在数据量很大的时候,ETL的周期会越来越长。

3.实时同步:某些数据源比如数据库是可以支持触发器机制,比如insert/update/delete的触发器。


ETL的架构:

全景

lambda架构:

lambda架构

kappa架构(适用于周期的,数据量小):

kappa架构

Flink实时ETL:



最后谈一下数据仓库的发展历程

本质上是元数据的开放程度不同


以上

你可能感兴趣的:(Flink系列之Flink的应用场景(二))