|
|
@@ -106,17 +106,19 @@ ODS 跨 dt 不去重 → 同 pk 多分区并存 → DIM 取每个 pk 的最新
|
|
|
|
|
|
`card_group_info`(拼团信息),承载"商家上架的拼团活动"实体。订单 → 品类的归属通过本表 `sport` 字段取得。
|
|
|
|
|
|
-### 3.2 sport 脏数据清洗
|
|
|
+### 3.2 category 字段(命名 + 脏数据清洗)
|
|
|
|
|
|
-**业务依据**:拼团可上单个产品,也可组合多个产品(可能跨类);以商家设置的拼团大类(`cgi.sport`)为准聚合最贴近业务侧分析口径,因此 `sport` 取自拼团表本身,不通过底层产品表(panini / checklist)反查。
|
|
|
+**字段命名**:业务库原字段 `card_group_info.sport` → 数仓字段名 `category`(lv2 叶子品类)。按 `kb/21 §1` 一词一义原则,业务库 sport 实际已多义(16 个值里含"影视收藏 / 综合收藏 / 综合体育"等非 sport 语义),数仓字段改用中性的 `category`。lv1 大类(业务库 `first_sport`,1 期不引)未来引入时命名为 `main_category`。
|
|
|
|
|
|
-**清洗规则**(DIM 内置,下游直引):
|
|
|
+**业务依据**(取自拼团粒度而非产品粒度):拼团可上单个产品,也可组合多个产品(可能跨类);以商家设置的拼团大类(`cgi.sport`)为准聚合最贴近业务侧分析口径,因此 `category` 取自拼团表本身,不通过底层产品表(panini / checklist)反查。
|
|
|
|
|
|
-| 原值 | 清洗后 |
|
|
|
+**清洗规则**(DIM 内置,下游直引 `category`):
|
|
|
+
|
|
|
+| 原值(cgi.sport)| 清洗后(category)|
|
|
|
|---|---|
|
|
|
| `mlb` | `MLB` |
|
|
|
| `Boxing` | `UFC` |
|
|
|
-| `other` | NULL(聚合时 `WHERE sport IS NOT NULL` 过滤)|
|
|
|
+| `other` | NULL(聚合时 `WHERE category IS NOT NULL` 过滤)|
|
|
|
| 其他 | 原值保留 |
|
|
|
|
|
|
### 3.3 字段表
|
|
|
@@ -134,7 +136,7 @@ ODS 跨 dt 不去重 → 同 pk 多分区并存 → DIM 取每个 pk 的最新
|
|
|
| 商品关联 | list_id | BIGINT | | 商家上线 checklist id |
|
|
|
| 商品关联 | list_code | STRING | | checklist code |
|
|
|
| 商品关联 | panini_list_id | BIGINT | | 帕尼尼 list id(业务库快照冗余)|
|
|
|
-| 分类 | sport | STRING | | 运动类型(含 §3.2 脏数据清洗)|
|
|
|
+| 分类 | category | STRING | cgi.sport | 品类(lv2,含 §3.2 脏数据清洗)|
|
|
|
| 分类 | year | STRING | | 年份(赛季)|
|
|
|
| 分类 | manufacturer | STRING | | 厂商 |
|
|
|
| 分类 | sets | STRING | | 系列 |
|