| 粒度 | 一次业务事件(下单、支付、退款) |
|---|---|
| 加工 | 去重、空值处理、枚举标准化、单位统一 |
| 组织 | 按业务过程建表,不按报表建表 |
| 更新 | 日增量分区,支持重跑覆盖 |
去重与规范化
去重与规范化
INSERT OVERWRITE TABLE dwd_trade_order_detail_di PARTITION (dt='2026-10-11')
SELECT order_id, user_id,
CAST(amount AS DECIMAL(18,2)) AS pay_amount,
CASE status WHEN 1 THEN 'created' WHEN 2 THEN 'paid' ELSE 'unknown' END AS status_name,
create_time
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY order_id ORDER BY update_time DESC) AS rn
FROM ods_order_mysql WHERE dt='2026-10-11'
) t WHERE rn = 1;同一业务过程只建一张明细表:多个需求各自建表会造成同源不同数,是口径混乱的常见起点。