2.3 KiB
2.3 KiB
Skill: tm_scene_coverage_m 重点场景覆盖指标月表计算指导 (非 ODS 版)
1. 实现目标
按场景粒度汇总覆盖、干扰、用户指标。通过关联桥接表与一级事实表,实现 100% 不直接读取 ODS 层。
2. 计算拓扑 (Topology)
- 计算执行环境:HiveSQL。
- 基本架构:基于桥接表 (
tm_scene_grid_coverage_m) 与一级事实表 (tm_grid_coverage_m) 的空间关联聚合。 - 数据流向:
- 输入 A:
tm_scene_grid_coverage_m *(提供场景-栅格对应关系)。 - 输入 B:
tm_grid_coverage_m *(提供栅格指标及用户列表)。 - 输入 C:
td_scene #(提供场景维表属性)。
- 输入 A:
3. 字段映射矩阵 (The Matrix)
| 目标字段 | 类型 | 取值逻辑 | 备注 |
|---|---|---|---|
total_user_count |
BIGINT | approx_count_distinct(exploded_id) |
跨栅格去重,详见原语说明 |
rsrpcount |
BIGINT | SUM(g.rsrpcount) |
- |
avgrsrp |
DECIMAL | SUM(g.totalrsrp) / SUM(g.rsrpcount) |
基于事实表累加值聚合 |
mr_grid_count |
BIGINT | COUNT(DISTINCT regionid) |
场景内有采样栅格总数 |
covered_grid_count_105 |
BIGINT | SUM(is_covered_105) |
场景内达标栅格总数 (-105) |
covered_grid_count_110 |
BIGINT | SUM(is_covered_110) |
场景内达标栅格总数 (-110) |
grid_cover_rate_105 |
DECIMAL | covered_grid_count_105 / mr_grid_count |
场景级栅格达标率 (-105) |
grid_cover_rate_110 |
DECIMAL | covered_grid_count_110 / mr_grid_count |
场景级栅格达标率 (-110) |
total_grid_count |
BIGINT | COUNT(DISTINCT regionid) |
场景内总栅格数 |
| 市场份额/VIP/高价值等 | - | 置空处理 | 严格遵循 openspec.md |
4. 关键计算原语 (Primitives)
- 无 ODS 用户数聚合原语:
-- Step: 场景级用户数去重计算 SELECT scene_id, approx_count_distinct(id) FROM tm_scene_grid_coverage_m s JOIN tm_grid_coverage_m g ON s.regionid = g.regionid AND s.indoor_flag = g.indoor_flag LATERAL VIEW EXPLODE(g.device_id_list) e AS id WHERE g.operator_name = 'telecom' GROUP BY scene_id
5. 存储与优化规范
- 最终结果存入 PG
tm_scene_coverage_m。 - 严禁在脚本中出现任何
ODS_开头的表名。