改一个键定义,为什么要重放全部历史
商品身份 ID 是组键的确定性哈希,所以收紧对齐键会让所有 ID 换代:历史分区和新分区连不上,含 ID 的跨日特征必须全量重放。记录重放前的断点水位清理、字段宽度契约、旧分区 schema 冲突,以及"补完历史要再重载最新一天"这条铁律。
阅读本章HWLens:从多源采集与数据契约、跨源实体对齐与口径单点化,到湖仓分阶段改造和前端上线的完整工程记录。
商品身份 ID 是组键的确定性哈希,所以收紧对齐键会让所有 ID 换代:历史分区和新分区连不上,含 ID 的跨日特征必须全量重放。记录重放前的断点水位清理、字段宽度契约、旧分区 schema 冲突,以及"补完历史要再重载最新一天"这条铁律。
阅读本章一批脚本执行完毕、退出码全零,数据却一行都没进。原因全在装载语义里:label 幂等把重跑变成 SKIP、UNIQUE KEY 只覆盖本次出现的键、全量替换的顺序写反、staging 平铺目录跨日期污染。记录这四处以及我最后定下的装载规范。
阅读本章把 Parquet 目录升级成 Iceberg 表,再让 Doris 直连湖、最后把后端读路径切过去——每一步都能独立验证、独立回滚。记录阶段划分理由、"读回刚写分区再入湖"保的三件事,以及 warehouse 路径被序列化成单斜杠导致 scheme null 的那个坑。
阅读本章10–12 / 14 节继续下一节