目录
- 1.hive数仓分层,一般分几个层级,每层的作用是什么
-
- [1.1 常见分层及作用](#1.1 常见分层及作用)
-
- [(1)ODS 层(Operational Data Store,原始数据层)](#(1)ODS 层(Operational Data Store,原始数据层))
- [(2)DWD 层(Data Warehouse Detail,明细数据层)](#(2)DWD 层(Data Warehouse Detail,明细数据层))
- [(3)DWS 层(Data Warehouse Summary,汇总数据层)](#(3)DWS 层(Data Warehouse Summary,汇总数据层))
- [(4)ADS 层(Application Data Store,应用数据层)](#(4)ADS 层(Application Data Store,应用数据层))
- [(5)DIM 维度层和其他](#(5)DIM 维度层和其他)
- [1.2 典型分层结构(示意图)](#1.2 典型分层结构(示意图))
- [1.3 总结表格](#1.3 总结表格)
1.hive数仓分层,一般分几个层级,每层的作用是什么
Hive 数仓分层是构建数据仓库的经典方法论,其目的是规范数据流转过程,提升数据复用、易运维性和数据治理能力。通常,Hive 数仓分层主要分为 ODS(操作数据层)、DWD(明细数据层)、DWS(汇总数据层)、ADS(应用数据层),有的企业也会增加 DIM(维度层)、DML(中间层)、DMB(宽表层)等。下面详细说明:
1.1 常见分层及作用
(1)ODS 层(Operational Data Store,原始数据层)
- 作用:存放从业务系统同步过来的原始数据,通常为业务表的全量或增量快照,最大化还原数据原貌。
- 特点:与数据源表结构一致,未做复杂处理。
- 数据来源:来自 OLTP 系统(如 MySQL、Oracle 等),一般通过定时同步(如 Sqoop、DataX)。
- 用途:为后续数仓层清洗、加工提供数据保障。
(2)DWD 层(Data Warehouse Detail,明细数据层)
- 作用:对 ODS 数据做清洗、解析、标准化,结构更规范、字段业务语义明确,且仍保留明细级别(不会丢失粒度)。
- 特点:去重、格式统一、脏数据处理、字段口径规范化。
- 数据来源:基于 ODS 层数据,经数据清洗加工得到。
- 用途:作为数仓事实数据分析、统计的底层数据源。
(3)DWS 层(Data Warehouse Summary,汇总数据层)
- 作用:基于 DWD 层,对明细数据进行多维度聚合、统计,形成中间宽表或多维分析表。
- 特点:一般是按主题、业务过程、时间粒度做分组汇总(如日报、月报、周报)。
- 数据来源:通常来源于 DWD 层。
- 用途:数据服务于 OLAP 分析,支撑 BI、报表等多维分析,解决性能瓶颈。
(4)ADS 层(Application Data Store,应用数据层)
- 作用:面向具体业务场景和应用需求,进一步加工生成最终报表、指标、接口、标签等。
- 特点:粒度更粗、结构更简单,直接为业务方或应用系统服务。
- 数据来源:通常基于 DWS 层,有时也引用维度表、事实宽表。
- 用途:支撑业务监控、可视化大屏、接口数据输出等。
(5)DIM 维度层和其他
- DIM:保存业务分析常用维度,如用户、商品、组织架构等,支持数据宽表和分析。
- DMB/DML/TMP:部分企业还定义中间层、宽表层、临时层,作为特殊业务需要。
1.2 典型分层结构(示意图)
Plain
应用数据层(ADS) // 指标、标签、接口数据
↑
汇总数据层(DWS) // 各种汇总宽表
↑
明细数据层(DWD) // 清洗后标准化的明细表
↑
原始数据层(ODS) // 数据源原始快照
↑
数据源(OLTP等)
1.3 总结表格
层级简称关键作用粒度说明建议存储周期原始层ODS保留原始业务数据明细15-30天/看磁盘明细层DWD清洗、标准化、去重明细1-2年汇总层DWS多维汇总宽表/指标表主题/部门/时间等长期应用层ADS报表、接口、直接应用维度表/标签/聚合按需维度层DIM辅助分析的维度字典维度唯一性长期