ADS 结果表设计:一表一应用
ADS 表按消费场景设计:字段与前端展示列基本一一对应,时间粒度单一固定,分区就绪即被读取。推荐一表一报表、或同一应用的多张表,避免一张结果表被多处引用后各自改口径——字段含义一旦分叉,就再也无法统一维护。
基本信息
| 设计依据 | 前端展示与消费方式 |
|---|---|
| 粒度 | 单一且固定 |
| 字段 | 含展示所需的格式与单位 |
| 分区 | 按消费时间粒度就绪 |
| 变更 | 随报表迭代并通知消费方 |
典型使用场景
- 看板结果表:字段直接对齐看板列,前端不再做二次加工
- 粒度固定:日汇总表只放日粒度,需要月粒度就另建表或另配聚合
- 导出与对账文件:字段顺序与格式贴合导出口径,减少使用方加工
- 字段下线:先走下线流程并保留过渡期,再从结果表移除
- 结果重刷:结果层允许按分区重算,但重刷后要通知消费方刷新时间
看板结果表
看板结果表
CREATE TABLE ads_sale_board_day (
store_id STRING COMMENT '门店ID',
store_name STRING COMMENT '门店名称(展示用)',
pay_amt DECIMAL(18,2) COMMENT '支付金额(元)',
order_cnt BIGINT COMMENT '支付订单数',
mom_rate DECIMAL(10,4) COMMENT '环比(小数,可空)'
) COMMENT '销售看板-门店日粒度'
PARTITIONED BY (dt STRING)
STORED AS ORC;ADS 设计检查项
| 检查项 | 要求 | 反例 |
|---|---|---|
| 粒度 | 单一且固定 | 日表里混放月汇总行 |
| 字段 | 与展示列对齐 | 前端再做一次聚合 |
| 口径归属 | 归属单一应用 | 多报表共用并各自改口径 |
| 变更 | 通知消费方 | 直接删字段导致报表空白 |
ADS 是结果层,允许按分区重刷;但重刷后必须通知消费方刷新时间,否则同一天数据会出现两个版本,对账无法闭合。
结果表里带上口径需要的中间量(如分子分母),使用方可以自行重算和核对,比只放一个比率字段可靠得多。
ADS 表的字段注释要写单位与口径,例如金额写「元」、比率写「小数四位」;结果表直接被展示层读取,注释缺失带来的误解没有下游可以兜底。