离线数仓—DWS层设计开发
前言
前面完成了ODS、DIM、DWD层的设计和实现,下面进行DWS层的设计开发。
一、DWS回顾
1、DWS层了解
数据仓库汇总层数据(Data Warehouse Summary),基于指标需求,构建初步汇总事实表,一般是宽表。基于上层的应用和产品的指标需求,构建公共粒度的汇总指标表。以宽表化手段物理化模型,构建命名规范、口径一致的统计指标,为上层提供公共指标。
2、DWS层存在的必要性
当我们在做数据需求时,可能会有这样的疑问:我直接能从DWD层很方便的取出想要的数据,为什么还要多此一举建立DWS层的汇总表呢?那是不是意味着可以不用建立DWS层的表呢,答案是:可以的。但是这有一个前提,就是业务场景不复杂。从短期来看可以快速满足数据需求的开发,但是长期来看,会存在如下的问题:
1)对于复杂的业务场景而言,会出现很多跨域、跨事实的交叉探查,如果没有沉淀出DWS层的指标进行统一口径的收口,那么相同的指标会出现不同的口径和命名,其后果就是取数变得越来越不方便,而且容易造成业务怀疑数据是否正确的尴尬局面。
2)公共指标没有统一计算,当每次需要相同的指标时,则需要重新计算一遍取数逻辑,不仅效率不高(需要