32 lines
1.6 KiB
Markdown
32 lines
1.6 KiB
Markdown
|
|
# Skill: td_building_cell_m 楼宇小区桥接表计算指导 (严谨矩阵版)
|
|||
|
|
|
|||
|
|
## 1. 实现目标
|
|||
|
|
建立电信小区与楼宇实体的业务归属关系,支撑楼宇维度的 Top 小区分析。
|
|||
|
|
|
|||
|
|
## 2. 计算拓扑 (Topology)
|
|||
|
|
- **计算执行环境**:**HiveSQL**。
|
|||
|
|
- **基本架构**:采用基于 `indoor_flag` 的三重口径聚合(室内、室外、全量)。
|
|||
|
|
- **数据流向**:
|
|||
|
|
1. 输入 A:`td_building_grid_m *` (提供楼宇-栅格映射)。
|
|||
|
|
2. 输入 B:`ODS_MR_GRID_SCELL` (提供小区-栅格采样指标)。
|
|||
|
|
|
|||
|
|
## 3. 字段映射矩阵 (The Matrix)
|
|||
|
|
|
|||
|
|
| 目标字段 | 类型 | 取值逻辑 | 备注 |
|
|||
|
|
| :--- | :--- | :--- | :--- |
|
|||
|
|
| **`building_id`** | BIGINT | 来自 `td_building_grid_m` | - |
|
|||
|
|
| **`cellkey`** | VARCHAR | 映射 ODS 原始字段 | 电信小区唯一标识 |
|
|||
|
|
| **`indoor_flag`** | SMALLINT | **对齐 Join**:`td_building_grid_m.indoor_flag` | 包含 -1, 0, 1 |
|
|||
|
|
| **`rsrpcount`** | BIGINT | 4G: `SUM(rsrpcount)`<br>5G: `SUM(ssrsrpcount)` | **严禁混淆字段** |
|
|||
|
|
|
|||
|
|
## 4. 关键计算原语 (Primitives)
|
|||
|
|
- **多口径关联**:
|
|||
|
|
- **明细映射 (0/1)**:`ON a.regionid = b.regionid AND a.indoor_flag = b.indoor_flag`。
|
|||
|
|
- **全量映射 (-1)**:`ON a.regionid = b.regionid AND a.indoor_flag = -1` (此时不检查 MR 侧的 flag,进行全量累加)。
|
|||
|
|
- **权重计算**:按 `building_id`, `cellkey`, `indoor_flag` 分组聚合,计算总采样点数。
|
|||
|
|
- **运营商过滤 (强制)**:只提取 `operator_name = 'telecom'` 的记录。
|
|||
|
|
|
|||
|
|
## 5. 约束
|
|||
|
|
- 全量保留有采样的小区映射,不进行 Top N 截断,保留数据完整性。
|
|||
|
|
- 必须确保 `td_building_grid_m` 已同步回 Hive。
|