经典面试题 谈谈你对数仓分层的理解

首先我们要明白数仓为什么要分层,分层的好处是什么?
1.可以隔离原始数据
一般来讲源数据我们是没有权限去接触的,这涉及到隐私、保密等问题。通过分层,可以避免这类的问题,因为我们开发人员接触到的是分层后的脱敏数据。
2.可以将复杂问题简单化
通过分层,对数据经过加工处理后,可以使用更加干净的数据进行计算。
3.减少重复开发
分层后,我们可以从各个层中取相应数据进行开发,有效减少对源数据的重复开发处理工作
4.清晰数据结构
5.方便数据血缘追踪

数仓分层在我之前的银行项目中,是分为五层的。
第一层,操作型数据层(ODS层),也叫贴源层,这一层的数据是原原本本来自于各个业务系统的数据。
第二层,数据明细层(DWD层),也叫明细粒度事实层,这一层的数据是通过对ODS层进行一系列的数据清洗得来的。
第三层,轻粒度汇总层(DWS层),也叫做公共汇总粒度事实层,这一层的数据一般是通过按天(时间)对DWD层的数据进行轻度汇总得来的,会在这一层算一些指标。
第四层,公共维度层(DWT),叫主题层,也叫数据集市层,这一层的数据是通过对DWS层的数据进行汇总,从窄表变成宽表,有需要的话还会在这一层算一些指标。
第五层,数据展示层(APP层),也叫做应用层。这一层放的是做好的可视化报表,并且这一层的数据也是作为接口数据来展示到APP层的。
以上就是在面试过程问到数仓分层时的一些谈资。