当前位置: 首页 > news >正文

【大数据_数仓架构-07_ DWS建的表归属到是什么主题域,如何划分,举例】

● DWS 表的主题归属分析

非常好的追问!这正是 DWS 建模中最关键也最容易模糊的地方。

我建的 dws_cate_region_trade_1d 这张表,它的主题归属其实是有争议的,我们来认真分析一下。


一、回顾这张表的特征

dws_cate_region_trade_1d
粒度:dt × 省 × 市 × 一级类目 × 叶子类目
指标:订单数、交易额、件数、买家数…

关键观察:这张表的粒度里没有任何一个"分析对象"占主导地位 —— 它既不是纯粹的"商品/类目主题",也不是纯粹的"地区主题",而是两个维度的交叉。


二、三种主题归属的判断思路

思路A:归属到"类目主题"(cate)

理由:从分析对象看,这张表的核心是"研究类目的销售表现",地区只是切片维度。

主题域:商品/类目主题
表名应改为:dws_cate_trade_1d
粒度:dt × 类目 × 地区切片

适用场景:以"类目运营"为主线的分析体系。

思路B:归属到"地区主题"(region)

理由:从分析对象看,核心是"研究地区的消费表现",类目只是切片维度。

主题域:地区主题
表名应改为:dws_region_trade_1d
粒度:dt × 地区 × 类目切片

适用场景:以"区域运营"为主线的分析体系。

思路C:归属到"交易主题"(trade)—— 我推荐的归属

理由:这张表本质上是交易事实的多维聚合,没有主导的分析对象,应归到交易主题这个"过程域型主题"。

主题域:交易主题(trade)
表名:dws_trade_cate_region_1d
粒度:dt × 类目 × 地区(交叉粒度)


三、为什么我推荐归属"交易主题"

  1. 数据仓库主题划分的两种流派

实际生产中,DWS 主题划分通常有两种思路:

┌────────────┬──────────────────┬────────────────────────┐
│ 流派 │ 主题划分依据 │ 典型主题 │
├────────────┼──────────────────┼────────────────────────┤
│ 对象型主题 │ 围绕分析实体 │ 用户、店铺、商品、品牌 │
├────────────┼──────────────────┼────────────────────────┤
│ 过程型主题 │ 围绕业务过程聚合 │ 交易、流量、履约、营销 │
└────────────┴──────────────────┴────────────────────────┘

大多数互联网公司是两种混用的:

  • 单实体宽表 → 对象型主题(用户、店铺、商品)
  • 多维交叉聚合表 → 过程型主题(交易、流量、履约)
  1. 我建的这张表属于"多维交叉"

dws_trade_cate_region_1d
├── 它不是"用户宽表"(没有 user_id 维度)
├── 它不是"店铺宽表"(没有 shop_id 维度)
├── 它不是"商品宽表"(粒度比商品粗,是类目级)
└── 它是【交易事实】在【类目 × 地区】两个维度上的交叉聚合

所以归属到"交易主题"最合适。


四、规范化的命名与归属

按阿里 OneData 体系的命名规范,应该这样调整:

– 原来的命名
dws_cate_region_trade_1d ← 不规范

– 规范后的命名
dws_trade_cate_region_1d
↑ ↑ ↑ ↑
层 主题域 粒度 周期

命名解析:

  • dws:层级
  • trade:主题域 = 交易
  • cate_region:粒度 = 类目 × 地区
  • 1d:周期 = 日

五、淘宝场景下 DWS 主题域的完整划分

为了让你看清楚归属逻辑,给你一份完整的 DWS 主题分布:

对象型主题(单实体宽表)

用户主题 (user)
├── dws_user_trade_1d 用户的交易表现(用户视角)
├── dws_user_trade_nd
├── dws_user_traffic_1d
└── dws_user_logi_nd

店铺主题 (shop)
├── dws_shop_trade_1d
└── dws_shop_traffic_1d

商品主题 (item)
├── dws_item_trade_1d 单品的销售表现
└── dws_item_traffic_1d

过程型主题(多维交叉聚合)

交易主题 (trade) ← 我建的表归这里
├── dws_trade_cate_region_1d 类目×地区 交易汇总 ← 就是这张
├── dws_trade_cate_1d 类目维 交易汇总
├── dws_trade_region_1d 地区维 交易汇总
├── dws_trade_brand_1d 品牌维 交易汇总
└── dws_trade_channel_1d 渠道维 交易汇总

流量主题 (traffic)
├── dws_traffic_page_1d 页面流量汇总
└── dws_traffic_source_1d 流量来源汇总

履约主题 (logi)
├── dws_logi_carrier_1d 物流商汇总
└── dws_logi_region_1d 地区履约汇总


六、一个判断决策树

判断一张 DWS 表归属哪个主题域,用这个决策树:

这张表的粒度里有【单个明确的分析对象】吗?

├─ 有 → 对象型主题
│ ├─ 粒度是 user_id → 用户主题 (user)
│ ├─ 粒度是 shop_id → 店铺主题 (shop)
│ ├─ 粒度是 item_id → 商品主题 (item)
│ └─ 粒度是 brand_id → 品牌主题 (brand)

└─ 没有(多维度交叉聚合)→ 过程型主题
├─ 度量是交易类(订单、金额)→ 交易主题 (trade) ✅
├─ 度量是流量类(PV、UV) → 流量主题 (traffic)
├─ 度量是履约类(发货、妥投)→ 履约主题 (logi)
└─ 度量是营销类(券、活动) → 营销主题 (mkt)

我建的 dws_cate_region_trade_1d:

  • 没有单一分析对象(cate + region 两个维度)
  • 度量是支付订单数、交易额 → 交易类
  • ✅ 归属:交易主题 (trade)

七、修正后的最终方案

表名修正

– 原表名(不规范)
dws_cate_region_trade_1d

– 规范后
dws_trade_cate_region_1d

完整命名层级

ods 层 → ods_trade_order_di (贴源,业务系统名)
dwd 层 → dwd_trade_order_pay_di (交易域-支付过程)
dws 层 → dws_trade_cate_region_1d (交易主题-类目地区粒度-日)
ads 层 → ads_flower_rose_geo_1d (应用:鲜花玫瑰地域看板)

一目了然的归属

DWD 数据域: 交易域 (trade)
↓ 聚合
DWS 主题域: 交易主题 (trade)
↓ 应用化
ADS 业务方向: 鲜花运营 (flower)

注意:DWD 的"交易域"和 DWS 的"交易主题"虽然名字相似,但概念不同:

  • DWD 交易域:以"交易业务过程"组织的明细事实表集合(下单、支付、退款)
  • DWS 交易主题:以"交易度量"为核心、按各种维度组合聚合的汇总表集合

八、为什么不归"商品主题"或"地区主题"?

不归"商品主题"

商品主题的标准粒度应该是 item_id(单品级),用来回答"某个具体商品的销售表现"。
而 dws_trade_cate_region_1d 粒度是 类目级,比商品粗一层,不属于商品主题的核心资产。

不归"地区主题"

如果建"地区主题",应该建一张围绕地区这个分析对象的宽表:

dws_region_full_nd(地区主题宽表,假设建)
粒度:city_code + dt
字段:
city_code, city_name,
– 交易表现
total_pay_amount_30d, total_order_cnt_30d,
– 流量表现
total_uv_30d, total_pv_30d,
– 履约表现
avg_delivery_hours_30d,
– 用户表现
active_user_cnt_30d, new_user_cnt_30d

这才是"地区主题宽表" —— 围绕地区这个对象,刻画它的方方面面。
而我建的表只是"交易事实 × 地区切片",远没到"地区画像"的程度。


九、一句话总结

▎ dws_trade_cate_region_1d 归属【交易主题域 trade】,属于"过程型主题"下的"多维交叉聚合表"。

▎ 判断依据:
▎ 1. 粒度是"类目 × 地区"的交叉,没有单一分析对象 → 不是对象型主题
▎ 2. 度量是订单数、交易额 → 属于交易类度量
▎ 3. 服务于交易场景的多维下钻分析 → 归交易主题最自然

▎ 规范化命名应为:dws_trade_cate_region_1d(主题域放在粒度前面)

这也提醒我们一个建模铁律:

▎ DWS 表名一定要能从名字看出它的主题归属和粒度,否则数仓越建越乱,谁也搞不清一张表该用还是不该用。

http://www.jsqmd.com/news/999403/

相关文章:

  • 2026山东济南靠谱的的plc 工业自动化培训机构推荐|从电工基础到系统集成,小班制一对一指导 - 资讯纵览
  • 2021年主流微信小程序wxapkg解包工具(带GUI界面,开箱即用)
  • 工厂企业做外贸独立站流程是什么? - 外贸营销驿站
  • 显卡性能检测Futuremark 3DMark
  • 2026临沂GEO优化企业排名榜 优质服务商盘点 - 速递信息
  • 天花板!苏州黄金回收攻略|5家正规门店,报价透明不套路 - 讯息早知道
  • 从 CPU 指令剖析 Java:运算逻辑、字符串拼接与 Switch 底层实现
  • 3分钟掌握SpliceAI:用深度学习预测基因剪接变异的终极指南
  • 终极Honey Select 2游戏增强补丁:一键解决200+插件兼容性问题
  • 外贸建站平台长期运营成本对比 - 外贸营销驿站
  • 去德国探亲子女要用亲属关系公证,该如何办理? - 指上通
  • 端午|粽香漫夏,解锁3天松弛小长假✨
  • QorIQ P1024 RDB开发板:企业级嵌入式网络与工业控制平台深度解析
  • 当视觉AI遇见中国象棋:VinXiangQi如何重新定义棋局分析体验
  • 番茄小说下载器终极指南:免费批量下载番茄小说全攻略
  • 从手机夜景噪点到工业视觉检测:手把手教你用Halcon的mean_image搞定图像预处理
  • 终极抢票神器DamaiHelper:10分钟轻松搞定演唱会门票
  • 科研文献PDF一键获取:告别繁琐手动下载的智能助手
  • 重庆手表回收水到底多深?2026年实测五家店,只有一家没劝你拆表带 - 奢侈品交易观察员
  • 爱回收买二手苹果靠谱吗?入手前先看清这几个判断标准 - 新闻快传
  • Julia string函数不是类型转换,而是字符串化协议入口
  • Unity新手可直接运行的3D迷宫游戏工程:含exe、源码与VS解决方案
  • 网盘直链下载助手LinkSwift:告别限速困扰的终极解决方案
  • 终极解放双手:淘宝淘金币自动化脚本全攻略
  • 椭偏仪在HfO₂薄膜光学常数测量中的应用
  • 如何用League Akari轻松掌握你的英雄联盟战绩数据
  • MPC5566 PowerPC MCU:确定性实时控制架构与汽车电子应用解析
  • 5步掌握RapidVideOCR:高效提取视频硬字幕的实用指南
  • HCS12X微控制器:汽车电子中16位双核架构的实时性与成本平衡之道
  • GAN不只是造假:深入浅出图解SRGAN,看AI如何‘脑补’出高清世界的细节