又来活了,今天开始DWS层的建设。DWS(Data Warehouse Service)层是数据仓库中的服务数据层,它基于DWD层的明细数据,按照业务主题对数据进行轻度汇总,形成主题宽表,主要包含了1d(最近1日)、nd(最近n日)、td(历史至今)等时间维度的指标,是数据仓库中承上启下的关键环节,既保证了数据的可复用性,又为上层应用提供了标准化的数据服务。
今天以我们项目中的实际案例为例进行DWS层建设思路介绍。数仓代码可访问:
- github:https://github.com/Mrkuhuo/data-warehouse-learning
- gitee:https://gitee.com/wzylzjtn/data-warehouse-learning
一、DWS层定位与价值
1. DWS角色定位
DWS(Data Warehouse Service)层是数据仓库的服务数据层,位于DWD层之上,ADS层之下。它主要承担了将明细数据进行主题聚合的职责,是数据仓库中承上启下的关键环节。
2. 业务价值
业务价值:
- 降低计算成本:预计算常用指标,避免重复计算
- 统一指标口径:确保全公司指标计算规则统一
- 提升分析效率:提供主题化的宽表,方便业务分析
- 支持多维分析:保留完整维度,支持灵活查询
二、DWS层设计思路
1. 主题划分
主题是DWS层最重要的设计要素,需要从以下几个方面考虑:
(1) 业务维度划分:
- 交易域:订单、支付、退款等
- 用户域:注册、登录、画像等
- 流量域:访问、浏览、跳转等
- 商品域:商品、类目、品牌等
(2) 分析维度考虑
- 时间维度:日、周、月、年
- 地理维度:省份、城市、区域
- 用户维度:设备、渠道、等级
- 业务维度:品类、品牌、店铺
2. 粒度设计
(1) 基础粒度
- 用户粒度:用户行为分析
- 商品粒度:商品销售分析
- 店铺粒度:店铺运营分析
- 订单粒度:交易过程分析
(2) 时间粒度
- 1d:最近1日汇总,日常监控
- nd:最近n日汇总,趋势分析
- td:历史至今汇总,累计分析
3. 指标体系
(1) 指标类型
- 统计指标:数量、金额等
- 比率指标:占比、转化率等
- 环比指标:增长率、变化率等
- 复合指标:加权分数、综合评分等
(2) 计算方式
- 累计值:SUM、COUNT等
- 去重值:COUNT DISTINCT等
- 最新值:MAX、LAST_VALUE等
- 平均值:AVG、MEDIAN等
三、实战案例:交易行为分析
1. 业务场景
分析用户购物行为,包括:
- 商品购买情况
- 用户消费习惯
- 品类偏好分析
- 支付方式分析
2. 表设计方案
3. 实现方案
(1) 维度关联
(2) 指标计算
通过以上案例分析,我们可以看到DWS层在实际业务中的应用方式和实现细节。这些设计方案和实现方法可以作为参考,在实际项目中根据具体需求进行调整和优化。