什么是数仓分层
将源数据根据规则进行处理,并落到hive表中。
为什么要数仓分层
为了让数据链路更清晰,数据使用起来更方便,建立分层数仓,也可以避免重复计算的问题。
怎么做数仓分层
一般双分层分为4-5层
ods层 贴源层,对源数据进行简单的处理之后直接存放到hive表中,源数据包含业务数据,日志数据等。业务数据可以使用使用sqoop,datax同步;日志数据可以使用flumn同步
dwd层 数据明细层 对ods层的数据进行一些清洗和规范化的操作,比如数据一致性,脏数据,空数据等。该层还会做一些维度退化的工作,减少后续查询分析中的join操作
dws层 轻度汇总层 该层是在DWD层的数据基础上,对数据做一些轻微的聚合操作,生成一些列的中间结果表,提升公共指标的复用性,减少重复加工的工作。简答来说,对通用的核心维度进行聚合操作,算出相应的统计指标。
dwt层 汇总层 面向需求的,对dws再次进行汇总的,该层中的表可以被称为款表,一般一张表代表一个主题,包含有这个主题下的很多个指标字段呢
ads层 应用层 基本上都是业务需要的需求指标。该层数据一般会通过flumn输出到业务数据库中,用于数据报表,数据分析,数据挖掘等使用
以上分层采用阿里的分层方法,不同公司之间分层的名字可能不太一样,但是大致的分层逻辑是一样的。