# REFACTOR-MA Databricks 数仓 SQL 重构仓库。 ## 数仓分层 仓库采用三层模型,数据依赖保持单向流动: ```text DWD -> DWS -> DM ``` - `DWD`:清洗后的原子明细和基础主数据。 - `DWS`:引用 DWD 构建的公共维度、宽表和可复用事实表。 - `DM`:面向具体分析主题、指标和报表的数据集市。 ## 首批 review 范围 本批次重构原 `CHPA/01` 中两个层级维表脚本: - `sql/chpa/02_dws/01_dws_ext_td_ims_atc_hierarchy.sql` - `sql/chpa/02_dws/02_dws_ext_td_ims_nfc_hierarchy.sql` 两个脚本读取 DWD,并写入新的 DWS 维度表: - `dws.dws_ext_td_ims_atc_hierarchy` - `dws.dws_ext_td_ims_nfc_hierarchy` 工作区 `CHPA/` 下的原脚本保持不变。旧表 `dwd.dwd_ims_atc_hierarchy` 和 `dwd.dwd_ims_nfc_hierarchy` 仅作为本批新旧结果校验基线。 ## 表命名 - DWS 维度表:`dws_ext_td_<业务实体>` - DWS 事实表:`dws_ext_tf_<业务实体>` - DM 维度表:`dm_ext_td_<业务实体>` - DM 事实表:`dm_ext_tf_<业务实体>` 完整规范及首批表名映射见 `docs/sql_refactoring_standard.md`。 ## 目录结构 ```text RE/ |-- README.md |-- docs/ | `-- sql_refactoring_standard.md |-- sql/ | `-- chpa/ | `-- 02_dws/ | |-- 01_dws_ext_td_ims_atc_hierarchy.sql | `-- 02_dws_ext_td_ims_nfc_hierarchy.sql `-- validation/ `-- chpa/ `-- 02_dws/ `-- validate_hierarchy_refactor.sql ``` ## 执行顺序 1. 确认两个 DWS 目标表已按脚本中的显式字段契约创建。 2. 按文件名前缀顺序执行 `sql/chpa/02_dws/` 中的脚本。 3. 运行 `validation/chpa/02_dws/validate_hierarchy_refactor.sql`,直接比较新 DWS 输出与旧 DWD 基线。 4. 兼容性检查必须全部返回 `passed = true`;同时 review 重复路径和未匹配层级指标。 5. 下游迁移完成前保留旧 DWD 表;下游不得继续新增对旧表的依赖。 ## 本次 review 重点 1. `DWD -> DWS -> DM` 的职责边界是否符合现有调度设计。 2. `dws_ext_td_ims_*` 中是否需要保留来源系统 `ims`。 3. DWS 目标表的 catalog、字段类型、表属性和权限是否需要统一 DDL 模板。