hive数仓分层

目录

  • 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辅助分析的维度字典维度唯一性长期

相关推荐
roman_日积跬步-终至千里6 小时前
数仓开发的三层责任:业务定义、模型设计与 SQL 实现
数据库·数据仓库·sql·数据建模
geovindu1 天前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
程序员梅雨2 天前
【从零开始学习数据仓库 | 第一篇】:维度建模理论
大数据·数据仓库·学习·阿里云·数据分析
棣廷2 天前
初识数据仓库——数仓分层到DataX数据采集
数据仓库
棣廷2 天前
初识Hive(2)
数据仓库·hive·hadoop
geovindu3 天前
Pivoting and Unpivoting Data in SQL using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
数据库小学妹3 天前
OLAP数据库怎么选?看清OLTP、数仓、湖仓边界
数据仓库·mpp·列式存储·联机分析处理·数据库选型·olap数据库
程序 代码狂人4 天前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
天河归来4 天前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构