|
@@ -38,7 +38,7 @@ DWD / DWS(事实 + 维度)
|
|
|
|
|
|
|
|
**设计原则**:
|
|
**设计原则**:
|
|
|
- 按**实体类型**分表(用户/商品/商家),不按标签主题拆表
|
|
- 按**实体类型**分表(用户/商品/商家),不按标签主题拆表
|
|
|
-- 长表分 `_d` 日更(属性 snap + 当年累计 + 滚动窗口)/ `_o` 凝固(往年总额,按 `dt='{yyyy}1231'` 单表多分区,业界 Kimball 周期快照事实表标准);写入策略不同必须分表(详见 kb/33 §1.3)
|
|
|
|
|
|
|
+- 长表分 `_d` 日更(属性 snap + 当年累计 + 滚动窗口)/ `_o` 凝固(往年总额,按 `dt='{yyyy}1231'` 单表多分区,业界 Kimball 周期快照事实表标准);写入策略不同必须分表(详见 kb/26 §1.3)
|
|
|
- 长表负责**全量明细存储**,宽表负责**高频服务**,人群包负责**圈选计算**
|
|
- 长表负责**全量明细存储**,宽表负责**高频服务**,人群包负责**圈选计算**
|
|
|
- 前期只用 Hive 做离线标签计算,不引入额外组件
|
|
- 前期只用 Hive 做离线标签计算,不引入额外组件
|
|
|
|
|
|
|
@@ -50,8 +50,8 @@ DWD / DWS(事实 + 维度)
|
|
|
|
|
|
|
|
| 表名 | 实体 | 更新策略 | scope |
|
|
| 表名 | 实体 | 更新策略 | scope |
|
|
|
|------|------|---------|---|
|
|
|------|------|---------|---|
|
|
|
-| `tdm_usr_tag_d` | 用户 | 日更全量重刷 dt='${dt}',每天 INSERT OVERWRITE 单分区 | ✅ 1 期落地(kb/33 §2)|
|
|
|
|
|
-| `tdm_usr_tag_o` | 用户 | 往年总额凝固 dt='{yyyy}1231',单表多分区 insert-only | ✅ 1 期落地(kb/33 §3)|
|
|
|
|
|
|
|
+| `tdm_usr_tag_d` | 用户 | 日更全量重刷 dt='${dt}',每天 INSERT OVERWRITE 单分区 | ✅ 1 期落地(kb/26 §2)|
|
|
|
|
|
+| `tdm_usr_tag_o` | 用户 | 往年总额凝固 dt='{yyyy}1231',单表多分区 insert-only | ✅ 1 期落地(kb/26 §3)|
|
|
|
| `tdm_prd_tag_d` / `tdm_prd_tag_o` | 商品 | 同 schema | ⏸ 2 期 scope |
|
|
| `tdm_prd_tag_d` / `tdm_prd_tag_o` | 商品 | 同 schema | ⏸ 2 期 scope |
|
|
|
| `tdm_shp_tag_d` / `tdm_shp_tag_o` | 商家 | 同 schema | ⏸ 2 期 scope |
|
|
| `tdm_shp_tag_d` / `tdm_shp_tag_o` | 商家 | 同 schema | ⏸ 2 期 scope |
|
|
|
|
|
|
|
@@ -72,11 +72,11 @@ DWD / DWS(事实 + 维度)
|
|
|
- 所有标签统一口径管理,便于建设标签字典元数据
|
|
- 所有标签统一口径管理,便于建设标签字典元数据
|
|
|
- 支持按 `tag_code` 灵活查询任意标签组合
|
|
- 支持按 `tag_code` 灵活查询任意标签组合
|
|
|
|
|
|
|
|
-**1 期落地标签清单**:用户域共 103 个 tag_code(7 attr + 64 stat 日更 + 32 stat 25 年凝固),详细 tag_code + 业务价值 + 计算口径 + 示例值见 [kb/34-标签字典.md](34-标签字典.md)。
|
|
|
|
|
|
|
+**1 期落地标签清单**:用户域共 103 个 tag_code(7 attr + 64 stat 日更 + 32 stat 25 年凝固),详细 tag_code + 业务价值 + 计算口径 + 示例值见 [kb/32-标签字典.md](32-标签字典.md)。
|
|
|
|
|
|
|
|
## 3. 核心标签宽表
|
|
## 3. 核心标签宽表
|
|
|
|
|
|
|
|
-> **1 期 scope 外**:1 期标签未完善(kb/33 §7),等长表稳定 + 高频标签固定后再启动;过早做宽表会引出 schema 频繁 ALTER + 重刷历史。下面是设计预案。
|
|
|
|
|
|
|
+> **1 期 scope 外**:1 期标签未完善(kb/26 §7),等长表稳定 + 高频标签固定后再启动;过早做宽表会引出 schema 频繁 ALTER + 重刷历史。下面是设计预案。
|
|
|
|
|
|
|
|
从长表 pivot 高频、核心标签为列,供下游 ADS 和 BI 直接 JOIN,避免每次都对长表做条件聚合。
|
|
从长表 pivot 高频、核心标签为列,供下游 ADS 和 BI 直接 JOIN,避免每次都对长表做条件聚合。
|
|
|
|
|
|
|
@@ -129,7 +129,7 @@ GROUP BY entity_id
|
|
|
|
|
|
|
|
## 4. 人群包
|
|
## 4. 人群包
|
|
|
|
|
|
|
|
-> **1 期 scope 外**:1 期不做圈选(kb/33 §7),等业务侧有实时圈选诉求后再启动。下面是设计预案。
|
|
|
|
|
|
|
+> **1 期 scope 外**:1 期不做圈选(kb/26 §7),等业务侧有实时圈选诉求后再启动。下面是设计预案。
|
|
|
|
|
|
|
|
以圈选规则为主键,存储实体 ID 集合,支持人群圈选和二次计算(交集、并集、差集)。
|
|
以圈选规则为主键,存储实体 ID 集合,支持人群圈选和二次计算(交集、并集、差集)。
|
|
|
|
|
|
|
@@ -139,13 +139,13 @@ GROUP BY entity_id
|
|
|
|
|
|
|
|
所有 `tag_code` 必须在标签字典中注册后才能写入长表,确保编码唯一、口径明确。
|
|
所有 `tag_code` 必须在标签字典中注册后才能写入长表,确保编码唯一、口径明确。
|
|
|
|
|
|
|
|
-**字典权威源**:[kb/34-标签字典.md](34-标签字典.md)(103 个 tag_code 全量 + 编码规则 + 业务价值 + 示例值 + 圈选 SQL 示例)。
|
|
|
|
|
|
|
+**字典权威源**:[kb/32-标签字典.md](32-标签字典.md)(103 个 tag_code 全量 + 编码规则 + 业务价值 + 示例值 + 圈选 SQL 示例)。
|
|
|
|
|
|
|
|
**字典元数据 schema(业务字典服务化时可参考)**:
|
|
**字典元数据 schema(业务字典服务化时可参考)**:
|
|
|
|
|
|
|
|
| 字段 | 说明 |
|
|
| 字段 | 说明 |
|
|
|
|------|------|
|
|
|------|------|
|
|
|
-| `tag_code` | 全局唯一编码,详细命名约定见 kb/33 §4。属性 `usr_{属性名}`(如 `usr_sex`);消费明细统计 `usr_{主题}_{category}_{metric}_{window}`(如 `usr_trade_Basketball_amt_30d`)|
|
|
|
|
|
|
|
+| `tag_code` | 全局唯一编码,详细命名约定见 kb/26 §4。属性 `usr_{属性名}`(如 `usr_sex`);消费明细统计 `usr_{主题}_{category}_{metric}_{window}`(如 `usr_trade_Basketball_amt_30d`)|
|
|
|
| `tag_name` | 中文名称 |
|
|
| `tag_name` | 中文名称 |
|
|
|
| `entity_type` | `usr` / `prd` / `shp` |
|
|
| `entity_type` | `usr` / `prd` / `shp` |
|
|
|
| `tag_type` | `attr` / `stat` / `rule`(预留 `algo`)|
|
|
| `tag_type` | `attr` / `stat` / `rule`(预留 `algo`)|
|
|
@@ -155,16 +155,16 @@ GROUP BY entity_id
|
|
|
| `owner` | 负责人 |
|
|
| `owner` | 负责人 |
|
|
|
| `is_core` | 是否进入宽表 |
|
|
| `is_core` | 是否进入宽表 |
|
|
|
|
|
|
|
|
-### 5.1 字典维护规约(kb/34 ↔ kb/33 ↔ SQL 联动)
|
|
|
|
|
|
|
+### 5.1 字典维护规约(kb/32 ↔ kb/26 ↔ SQL 联动)
|
|
|
|
|
|
|
|
-字典 kb/34 是业务字典权威源,kb/33 是建模约定 + 命名规则。两者按变化频率分层维护:
|
|
|
|
|
|
|
+字典 kb/32 是业务字典权威源,kb/26 是建模约定 + 命名规则。两者按变化频率分层维护:
|
|
|
|
|
|
|
|
| 字典改动类型 | 联动改动范围 |
|
|
| 字典改动类型 | 联动改动范围 |
|
|
|
|---|---|
|
|
|---|---|
|
|
|
-| 改命名规则(如 `usr_pref_` → `usr_`)| kb/33 §4 命名约定 + kb/34 全表 + 所有相关 SQL(jobs/tdm/ + manual/backfill/)|
|
|
|
|
|
-| 加 / 删 tag_code | kb/34 字典行 + 相关 SQL UNION ALL 段 + kb/23 §2 总数字(若变化)|
|
|
|
|
|
-| 改口径 / 业务价值 / 示例值 / 业务校准 | 只改 kb/34(kb/33 不动)|
|
|
|
|
|
-| 改 EAV schema 或 _d / _o 分表策略 | kb/33 §1.2 / §1.3 + 重写 SQL + kb/34 提示运营字典刷新 |
|
|
|
|
|
|
|
+| 改命名规则(如 `usr_pref_` → `usr_`)| kb/26 §4 命名约定 + kb/32 全表 + 所有相关 SQL(jobs/tdm/ + manual/backfill/)|
|
|
|
|
|
+| 加 / 删 tag_code | kb/32 字典行 + 相关 SQL UNION ALL 段 + kb/31 §2 总数字(若变化)|
|
|
|
|
|
+| 改口径 / 业务价值 / 示例值 / 业务校准 | 只改 kb/32(kb/26 不动)|
|
|
|
|
|
+| 改 EAV schema 或 _d / _o 分表策略 | kb/26 §1.2 / §1.3 + 重写 SQL + kb/32 提示运营字典刷新 |
|
|
|
|
|
|
|
|
## 6. 标签服务演进路线
|
|
## 6. 标签服务演进路线
|
|
|
|
|
|
|
@@ -329,5 +329,5 @@ Hive TDM(离线标签计算,唯一来源)
|
|
|
## 7. 相关文档
|
|
## 7. 相关文档
|
|
|
|
|
|
|
|
- [数仓分层与建模](20-数仓分层与建模.md) -- TDM 层定位
|
|
- [数仓分层与建模](20-数仓分层与建模.md) -- TDM 层定位
|
|
|
-- [命名规范](21-命名规范.md) -- TDM 层命名规则(§3.6)
|
|
|
|
|
-- [指标体系](22-指标体系.md) -- 指标与标签是独立体系,口径各自管理
|
|
|
|
|
|
|
+- [命名规范](40-命名规范.md) -- TDM 层命名规则(§3.6)
|
|
|
|
|
+- [指标体系](30-指标体系.md) -- 指标与标签是独立体系,口径各自管理
|