69 lines
2.1 KiB
Markdown
69 lines
2.1 KiB
Markdown
# REFACTOR-MA
|
|
|
|
Databricks 数仓 SQL 重构仓库。
|
|
|
|
## 设计入口
|
|
|
|
- Agent 和工程约束:`AGENTS.md`
|
|
- SQL 重构规范:`docs/sql_refactoring_standard.md`
|
|
- CHPA 01/02 迁移矩阵:`docs/chpa_01_02_migration.md`
|
|
|
|
工作区上级 `CHPA/` 目录是只读 legacy 输入;所有新代码、文档和验证都放在本仓库。
|
|
|
|
## 数仓分层
|
|
|
|
```text
|
|
DWD -> DWS -> DM
|
|
```
|
|
|
|
- `DWD`:清洗后的原子明细和基础主数据。
|
|
- `DWS`:引用 DWD 构建的公共维度、层级宽表和可复用事实表。
|
|
- `DM`:引用 DWS 构建的主题、指标和报表数据集。
|
|
|
|
固定表名前缀:
|
|
|
|
- DWS 维度:`dws.dws_ext_td_<业务实体>`
|
|
- DWS 事实:`dws.dws_ext_tf_<业务实体>`
|
|
- DM 维度:`dm.dm_ext_td_<业务实体>`
|
|
- DM 事实:`dm.dm_ext_tf_<业务实体>`
|
|
|
|
## 当前重构范围
|
|
|
|
本批覆盖 `CHPA/` 下全部 6 个 `01` 开头脚本和 11 个 `02` 开头脚本。
|
|
|
|
主要变化:
|
|
|
|
- DWD 配置标准化和外部事实入湖保留在 `sql/chpa/01_dwd/`。
|
|
- ATC/NFC hierarchy、pack property、中文维度和 market 等派生宽表迁移到 DWS。
|
|
- `tmp.tmp_ims_tf_fact_sales` 提升为 `dws.dws_ext_tf_ims_chpa_sales`。
|
|
- 产品排序由共享临时表和 UPDATE 改为声明式 DWS 标记。
|
|
- 每个持久化脚本包含注释形式的一次性建表语句、显式写入字段和脚本契约头。
|
|
|
|
## 目录结构
|
|
|
|
```text
|
|
RE/
|
|
|-- AGENTS.md
|
|
|-- README.md
|
|
|-- docs/
|
|
| |-- sql_refactoring_standard.md
|
|
| `-- chpa_01_02_migration.md
|
|
|-- sql/
|
|
| `-- chpa/
|
|
| |-- 01_dwd/
|
|
| `-- 02_dws/
|
|
`-- validation/
|
|
`-- chpa/
|
|
`-- 02_dws/
|
|
```
|
|
|
|
## 执行和迁移
|
|
|
|
1. 按 `docs/chpa_01_02_migration.md` 中的顺序执行 DWD 脚本。
|
|
2. 确认 DWS 目标表已通过各脚本中的注释 DDL 创建。
|
|
3. 按 `sql/chpa/02_dws/` 文件序号执行 DWS 脚本。
|
|
4. 在相同源数据快照上运行 `validation/chpa/02_dws/` 下的验证 notebook。
|
|
5. 新旧行数、双向差集和必填键检查通过后,再迁移下游消费者。
|
|
|
|
本批不修改 `03` 开头脚本。`03` 中仍存在对旧 DWD/DWS/tmp 表的引用;在下一批完成消费者迁移之前,旧表必须保留为兼容和验证基线。
|