离线数仓标准分层:ODS、DWD、DWS、ADS 数仓分层

一句话整体逻辑:ODS 原始落地 → DWD 清洗明细 → DWS 轻度汇总 → ADS 业务报表,一层加工一层,层层依赖,就是你 Azkaban 调度的整套 ETL 链路。

一、层级

1. ODS 层:原始数据层(Operational Data Store)

作用 :原样接入上游业务系统数据,几乎不做清洗,相当于数据的中转站、备份层。 数据源:业务 MySQL binlog、埋点日志、接口推送数据等。 特点:

  • 数据结构、内容和上游几乎保持一致,只做落地、分区;
  • 不做过滤、不清洗脏数据,保留原始所有记录;
  • 主要用途:存档原始数据,一旦后面加工出错,可以重跑,不用再找上游拿数据;
  • 缺点:数据杂乱,有脏数据、重复数据、无用字段,不能直接给业务使用

👉 对应你的调度链路:第一个跑的任务,凌晨最先执行,ODS 跑完,DWD 才会启动

2. DWD 层:明细数据层(Data Warehouse Detail)

作用 :对 ODS 原始数据做清洗,产出干净的明细数据(最核心明细层)。 清洗动作:

  • 剔除脏数据(空 user_id、-9999 异常 key、乱码);
  • 去重、过滤无效日志;
  • 字段标准化、格式统一;
  • 关联少量维度表补全信息;

保留每条原始明细记录,不会合并聚合,一条日志还是一条记录。

特点:

  • 数据质量高,标准统一;
  • 是后续汇总计算的基础;
  • 不做大粒度指标汇总。

👉 链路:ODS 成功后,触发 DWD 任务。

3. DWS 层:汇总 / 服务数据层(Data Warehouse Service)

作用 :基于 DWD 明细,按维度做轻度汇总,把明细聚合成常用的统计粒度(用户日、商品日、地区日)。 例子:按用户维度,统计当日访问次数、点击次数、停留时长。 特点:

  • 减少数据量:几十万条明细,聚合后变成几万条汇总记录;
  • 提前预计算指标,避免 ADS 重复计算,提升报表查询速度
  • 一般是多维度的汇总,支持上层报表复用。

👉 链路:DWD 跑完,再跑 DWS。

4. ADS 层:应用数据层(Application Data Store,报表层)

作用 :面向业务应用、大屏、报表,高度聚合,产出业务最终指标。 基于 DWS 汇总表,按照业务需求,定制计算业务指标。 示例:日活 DAU、GMV、转化率、留存、业务大盘报表。 特点:

  • 直接对接业务平台、BI 报表;
  • 一张表大多对应一个业务报表;
  • 指标完全贴合业务语言,业务人员直接看这层。

👉 链路:DWS 跑完,最后跑 ADS,ADS 产出完成代表整套 T+1 数仓链路全部完成。

二、极简串联例子(用户行为埋点)

  1. ODS:接收原始埋点日志,原样保存,有大量脏数据、无效点击。
  2. DWD:清洗埋点,过滤脏数据,保留每条合法用户点击明细。
  3. DWS:按用户维度汇总:用户今日点击多少次、浏览多少次。
  4. ADS:计算大盘指标:今日总 DAU、总点击量,给业务 BI 报表展示。

三、精简版

ODS 是原始数据层,原样落地上游数据,作为备份; DWD 是明细层,清洗 ODS 脏数据,保留干净明细; DWS 是汇总层,基于明细做轻度聚合,预计算指标,减少上层计算压力; ADS 是应用报表层,面向业务,产出最终业务指标,供 BI、业务大屏使用。 四层上下游依赖,Azkaban 调度顺序:ODS→DWD→DWS→ADS,逐层串行执行。

四、高频Q&A

Q:DWD 和 DWS 最大区别? A:DWD 是明细 ,一条原始记录一条;DWS 是聚合汇总,多条明细合并成一条统计结果。

Q:能不能直接 ODS→ADS,跳过 DWD、DWS? A:技术上可以,但不推荐。ODS 脏数据多,直接计算报表容易出错;而且多个报表重复写清洗逻辑,代码冗余,不好维护。分层就是为了解耦、复用、方便数据回溯。

Q:DWS 和 ADS 怎么区分? A:DWS 是通用汇总,多个报表可以复用;ADS 是业务定制,一张表大多对应一个业务报表。

相关推荐
李昊哲小课2 个月前
Ubuntu26.04-Hadoop3.5.0搭建hive4.2.0
数据仓库·hive·数仓
阿坤带你走近大数据4 个月前
数仓架构的设计思路、模型选择依据、落地难点及解决方案的介绍
架构·管理·数仓·业务与技术融合
ApacheSeaTunnel4 个月前
未来十年的数据工程:从 Modern Data Stack 到 Data Engineering Harness
大数据·数仓·data engineering harness·modern data stack
涤生大数据4 个月前
Doris/StarRocks 高频面试题通关指南
大数据·starrocks·数仓·数据科学·大数据开发·diris
Java烘焙师8 个月前
架构师必备:灰度方案汇总
架构·数仓
ApacheSeaTunnel1 年前
(三)数仓人必看!ODS 到 DWS 各层设计规范全解析,含同步/存储/质量核心要点
大数据·数仓·数据集成·技术分享
海豚调度1 年前
(二)一文读懂数仓设计的核心规范:从层次、类型到生命周期
大数据·数仓·技术规范
大数据狂人1 年前
深入剖析 StarRocks 与 Hive 的区别、使用场景及协同方案实践
大数据·starrocks·hive·数仓
程序员老周6661 年前
数据仓库标准库模型架构相关概念浅讲
大数据·数据仓库·hive·数仓·拉链抽取·增量抽取·数据仓库架构