# REFACTOR-MA Databricks 数仓 SQL 重构仓库。 ## 首批 review 范围 本批次只重构原 `CHPA/01` 中两个层级维表脚本: - `sql/chpa/01_dwd/01_dwd_ims_atc_hierarchy.sql` - `sql/chpa/01_dwd/02_dwd_ims_nfc_hierarchy.sql` 工作区 `CHPA/` 下的原脚本保持不变,便于逐项对照。 ## 兼容性决策 首批代码继续写入现有物理表: - `dwd.dwd_ims_atc_hierarchy` - `dwd.dwd_ims_nfc_hierarchy` 这样不会立即影响 pack property 和 DWS 等现有下游任务。推荐的新表名及迁移规则记录在 `docs/sql_refactoring_standard.md`;是否执行物理改名,待本批 review 后决定。 ## 目录结构 ```text RE/ |-- README.md |-- docs/ | `-- sql_refactoring_standard.md |-- sql/ | `-- chpa/ | `-- 01_dwd/ | |-- 01_dwd_ims_atc_hierarchy.sql | `-- 02_dwd_ims_nfc_hierarchy.sql `-- validation/ `-- chpa/ `-- 01_dwd/ `-- validate_hierarchy_refactor.sql ``` ## 执行顺序 1. 在覆盖目标表前运行 `validation/chpa/01_dwd/validate_hierarchy_refactor.sql`。 2. 核对两个 `DESCRIBE TABLE` 结果;兼容性检查必须全部返回 `passed = true`。 3. review 重复路径和未匹配层级指标,确认它们符合现有业务口径。 4. 通过后,按文件名前缀顺序执行 `sql/chpa/01_dwd/` 中的重构脚本。 两个重构脚本都要求现有 DWD 源表、目标表已经创建。 ## 本次 review 重点 1. 表命名模型是否适用于整个数仓。 2. 物理表改名采用兼容视图还是一次性联动下游。 3. 替换调度任务前,在 Databricks 中对比新旧结果的行数、业务键重复数和空键数。