ソースを参照

docs(kb): 22 raw建模改名业务库raw建模,§0 通用约定保留 + 全仓引用路径同步

tianyu.chu 6 日 前
コミット
3b5f2d40d5

+ 1 - 1
README.md

@@ -85,7 +85,7 @@ PG/ES ──DataX(raw)──> RAW ──> ODS ──> DWD ──> DWS ──> TD
 |----|----|
 | [20-数仓分层与建模](kb/20-数仓分层与建模.md) | **建模方法论**:分层定义、主题域、总线矩阵、维度五步法、分区与建模原则 |
 | [21-时间语义](kb/21-时间语义.md) | **时间变量约定**:T 任务日锚点 + DS 变量底层 + cdt/dt/tdt/pdt 项目参数 + 各层 dt 语义 + 重跑幂等条件 |
-| [22-raw / ods 建模](kb/22-raw建模.md) | **raw/ods 层约定 + raw 源表字段目录**:raw 全 STRING landing、ods 类型化/脏数据边界、各源表三态裁剪决策 |
+| [22-业务库 raw / ods 建模](kb/22-业务库raw建模.md) | **raw/ods 层约定 + raw 源表字段目录**:raw 全 STRING landing、ods 类型化/脏数据边界、各源表三态裁剪决策 |
 | [23-dwd建模](kb/23-dwd建模.md) | **DWD 字段建模**:业务过程拆分 + 维度退化策略 + 滚动 N=30 回算 + 各业务过程字段表 |
 | [24-dim建模](kb/24-dim建模.md) | **DIM 字段建模**:ful_d 优先选型 + ful→zip 触发条件 + 跑批策略 + 脏数据清洗位置 + 各实体字段表 |
 | [25-dws建模](kb/25-dws建模.md) | **DWS 字段建模**:日聚合主题宽表单一职责 + 维度退化触发条件 + 滚动 30 回算(与 DWD 对齐)+ 字段表 |

+ 1 - 1
jobs/raw/prd/raw_prd_checklist_base_info_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_prd_checklist_base_info_inc_d
 ; 配套 sync ini:jobs/raw/prd/raw_prd_checklist_base_info_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/prd/raw_prd_checklist_base_info_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §8
+; 配套建模文档:kb/22-业务库raw建模.md §8
 ;
 ; 字段决策来源:inbox 3.2.2.5 商品域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
jobs/raw/prd/raw_prd_panini_checklist_base_info_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_prd_panini_checklist_base_info_inc_d
 ; 配套 sync ini:jobs/raw/prd/raw_prd_panini_checklist_base_info_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/prd/raw_prd_panini_checklist_base_info_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §6
+; 配套建模文档:kb/22-业务库raw建模.md §6
 ;
 ; 字段决策来源:inbox 3.2.2.5 商品域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_prd_panini_checklist_version_config_inc_d
 ; 配套 sync ini:jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/prd/raw_prd_panini_checklist_version_config_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §7
+; 配套建模文档:kb/22-业务库raw建模.md §7
 ;
 ; 字段决策来源:inbox 3.2.2.5 商品域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
jobs/raw/shp/raw_shp_tzy_merchant_info_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_shp_tzy_merchant_info_inc_d
 ; 配套 sync ini:jobs/raw/shp/raw_shp_tzy_merchant_info_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/shp/raw_shp_tzy_merchant_info_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §5
+; 配套建模文档:kb/22-业务库raw建模.md §5
 ;
 ; 字段决策来源:inbox 3.2.2.3 店铺域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
jobs/raw/trd/raw_trd_card_group_info_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_trd_card_group_info_inc_d
 ; 配套 sync ini:jobs/raw/trd/raw_trd_card_group_info_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/trd/raw_trd_card_group_info_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §2
+; 配套建模文档:kb/22-业务库raw建模.md §2
 ;
 ; 字段决策来源:inbox 3.2.2.4 交易域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
jobs/raw/trd/raw_trd_card_group_order_info_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_trd_card_group_order_info_inc_d
 ; 配套 sync ini:jobs/raw/trd/raw_trd_card_group_order_info_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/trd/raw_trd_card_group_order_info_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §1
+; 配套建模文档:kb/22-业务库raw建模.md §1
 ;
 ; 来源:本次 mask conf 机制上线前,inc_d ini reader.column 已确定为 91 入仓字段
 ;       (PG 全字段 120 砍 29)。本配置按 29 个不入仓字段反推为 trim,

+ 1 - 1
jobs/raw/usr/raw_usr_app_base_user_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_usr_app_base_user_inc_d
 ; 配套 sync ini:jobs/raw/usr/raw_usr_app_base_user_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/usr/raw_usr_app_base_user_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §3
+; 配套建模文档:kb/22-业务库raw建模.md §3
 ;
 ; 字段决策来源:inbox 3.2.2.2 用户域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
jobs/raw/usr/raw_usr_app_user_cert_info_inc_d.mask.ini

@@ -1,7 +1,7 @@
 ; 表名:raw_usr_app_user_cert_info_inc_d
 ; 配套 sync ini:jobs/raw/usr/raw_usr_app_user_cert_info_inc_d.ini
 ; 配套 DDL:manual/ddl/raw/usr/raw_usr_app_user_cert_info_inc_d_create.sql
-; 配套建模文档:kb/22-raw建模.md §4
+; 配套建模文档:kb/22-业务库raw建模.md §4
 ;
 ; 字段决策来源:inbox 3.2.2.2 用户域建模.md(分析师库 ods 草稿) vs PG 业务库实际 schema 对账。
 ;   - 明性裁:inbox 涉密列标 y / y(hash) / y(sync -month) → 审批会议决策。

+ 1 - 1
kb/12-同步方案.md

@@ -116,4 +116,4 @@
 
 - [数据资产](11-数据资产.md) — 业务库与埋点数据源清单
 - [数仓分层与建模](20-数仓分层与建模.md) §6 — 数据同步策略、快照类型决策
-- [raw / ods 建模](22-raw建模.md) §0 — raw / ods 层契约(类型映射见 ADR-06)
+- [raw / ods 建模](22-业务库raw建模.md) §0 — raw / ods 层契约(类型映射见 ADR-06)

+ 1 - 1
kb/14-埋点同步-开发.md

@@ -61,7 +61,7 @@ LOCATION '/user/hive/warehouse/raw.db/raw_usr_traces_apd_d';
 
 DDL 文件落点:`manual/ddl/raw/usr/raw_usr_traces_apd_d_create.sql` + `manual/ddl/raw/usr/raw_usr_traces_his_o_create.sql`。`raw.raw_usr_traces_his_o` schema 同上,仅表名和 LOCATION(`/user/hive/warehouse/raw.db/raw_usr_traces_his_o`)不同。
 
-> **与 `22-raw建模` §0.1 default ORC 一致;与现 testbed `test.raw_usr_traces_apd_d` 的单列 STRING + TEXTFILE 不同**——testbed 是冒烟阶段产物,本方案不复用其 schema。
+> **与 `22-业务库raw建模` §0.1 default ORC 一致;与现 testbed `test.raw_usr_traces_apd_d` 的单列 STRING + TEXTFILE 不同**——testbed 是冒烟阶段产物,本方案不复用其 schema。
 
 ## 2. 脱敏配置
 

+ 3 - 3
kb/15-raw接入流程.md

@@ -36,7 +36,7 @@
 ┌──────────────────┐
-│ Step 6:md 同步   │ 字段表复制到 kb/22-raw建模.md 对应章节
+│ Step 6:md 同步   │ 字段表复制到 kb/22-业务库raw建模.md 对应章节
 │ 到建模文档        │
 └────────┬─────────┘
@@ -131,7 +131,7 @@ python3 bin/datax-sync-template-gen.py \
 
 ### Step 6:md 同步到 raw 建模文档
 
-复制 workspace `.md` 字段表 → `kb/22-raw建模.md` 对应表章节。**人工维护**——后期 raw 建模文档由人类驱动更新,不做脚本自动追加。
+复制 workspace `.md` 字段表 → `kb/22-业务库raw建模.md` 对应表章节。**人工维护**——后期 raw 建模文档由人类驱动更新,不做脚本自动追加。
 
 ### Step 7:跑 DDL 生成器 + 微调
 
@@ -150,7 +150,7 @@ python3 bin/hive-ddl-gen.py -l raw -ini jobs/raw/{域}/{table_name}.ini -o
 - `jobs/raw/{域}/{table_name}.mask.ini`(裁剪脱敏配置)
 - `jobs/raw/{域}/{table_name}.ini`(sync 配置)
 - `manual/ddl/raw/{域}/{table_name}_create.sql`(raw 建表 DDL)
-- `kb/22-raw建模.md` 对应表章节(字段三态决策文档化)
+- `kb/22-业务库raw建模.md` 对应表章节(字段三态决策文档化)
 
 ## 暂未实现的阶段(后期)
 

+ 3 - 3
kb/20-数仓分层与建模.md

@@ -105,7 +105,7 @@ RDS PG / ES ──DataX──▶ RAW ──SparkSQL──▶ ODS ──▶ DWD 
 - **维度退化**:将常用维度属性冗余到事实表,减少运行时 JOIN。
 - **一致性维度**:公共维度全局统一(见 `dim_pub_*` 系列)。
 - **原子粒度优先**:最低粒度事实可以无限上卷,高粒度事实不可下钻。
-- **加工层框架字段**:DWD / DIM / DWS / TDM 表统一带 `etl_time TIMESTAMP` + 分区 `dt STRING` + `STORED AS ORC`;raw / ods 字段与类型约定见 `22-raw建模.md` §0。
+- **加工层框架字段**:DWD / DIM / DWS / TDM 表统一带 `etl_time TIMESTAMP` + 分区 `dt STRING` + `STORED AS ORC`;raw / ods 字段与类型约定见 `22-业务库raw建模.md` §0。
 
 ### 5.3 建模示例
 
@@ -238,8 +238,8 @@ RDS PG / ES ──DataX──▶ RAW ──SparkSQL──▶ ODS ──▶ DWD 
 
 | 层 | 关键设计取舍 | 详见 |
 |---|---|---|
-| Raw | 48h 宽窗抓取、全落 `dt=start_date`、容忍漂移 + 重复 | `22-raw建模` §0.1 · `21-时间语义` §4 · ADR-03 |
-| ODS | 动态分区按 `update_time` 归位、双源 union、跨 dt 不去重、INSERT OVERWRITE | `22-raw建模` §0.2 · `21-时间语义` §5 · ADR-03 |
+| Raw | 48h 宽窗抓取、全落 `dt=start_date`、容忍漂移 + 重复 | `22-业务库raw建模` §0.1 · `21-时间语义` §4 · ADR-03 |
+| ODS | 动态分区按 `update_time` 归位、双源 union、跨 dt 不去重、INSERT OVERWRITE | `22-业务库raw建模` §0.2 · `21-时间语义` §5 · ADR-03 |
 | DWD | 业务时间分区、滚动 N=30 回算、事件 vs 状态拆分(见 §5.5) | `23-dwd建模` · ADR-09 / ADR-11 |
 | DIM | 状态承载、`ful_d` 默认 / `zip_d` 按需、拉链不按业务时间分区 | `24-dim建模` · ADR-08 |
 | DWS | 主题 × 粒度日聚合、冗余换查询性能、维度退化 | `25-dws建模` · ADR-10 |

+ 2 - 2
kb/22-raw建模.md → kb/22-业务库raw建模.md

@@ -1,6 +1,6 @@
-# raw / ods 建模
+# 业务库 raw / ods 建模
 
-> 本文档:raw / ods 两层的通用约定(层职责、字段类型、脏数据边界)+ 各源表 raw 层字段目录。
+> 本文档:**§0 通用约定**(raw / ods 两层契约:层职责、字段类型、脏数据边界)为全项目 raw/ods 规范,埋点等非业务库源 cross-ref 本章;**§1 起**为业务库(PG)源表 raw 层字段目录。
 > 建模方法论见 `20-数仓分层与建模.md`;命名见 `40-命名规范.md`;时间 / 分区语义见 `21-时间语义.md`。
 
 ## 0. 通用约定

+ 1 - 1
kb/24-dim建模.md

@@ -36,7 +36,7 @@ ODS 跨 dt 不去重 → 同 pk 多分区并存 → DIM 取每个 pk 的最新
 
 ### 1.4 脏数据清洗位置
 
-源端**值脏数据**(类型正确但值不规范,如同一概念多种写法 `mlb` / `MLB`)的归一清洗放 **DIM 层**完成;区别于 ODS 拦截的**类型错误**(CAST 失败,见 `22-raw建模.md` §0.2)。DWD 维度退化时直引 DIM 已清洗字段,下游 DWS / TDM 不再清洗。
+源端**值脏数据**(类型正确但值不规范,如同一概念多种写法 `mlb` / `MLB`)的归一清洗放 **DIM 层**完成;区别于 ODS 拦截的**类型错误**(CAST 失败,见 `22-业务库raw建模.md` §0.2)。DWD 维度退化时直引 DIM 已清洗字段,下游 DWS / TDM 不再清洗。
 
 ---
 

+ 1 - 1
kb/41-开发规范.md

@@ -399,7 +399,7 @@ raw 层的 `jobs/` 有两类主要任务,根据源数据形态选择:
 | 从 MongoDB / PG / MySQL 等结构化源库同步 | `.ini`(DataX 配置) | `bin/datax-single-job-starter.sh` |
 | 从本地 / 外部 CSV 文件导入 | `.sql`(含 `USING csv` 临时视图 + `INSERT OVERWRITE`) | `bin/csv-to-hdfs-starter.py`(阶段 1 实现) |
 
-**raw 层数据类型约定**:全字段 `STRING`,类型转换与脏数据识别下推到 ods 层。契约详见 `22-raw建模.md` §0.1。
+**raw 层数据类型约定**:全字段 `STRING`,类型转换与脏数据识别下推到 ods 层。契约详见 `22-业务库raw建模.md` §0.1。
 
 **DataX ini 引用数据源约定**:sync ini 里 `[reader]` / `[writer]` 的 `dataSource` 字段必须写成 `{db_type}/{env}-{实例简称}`(例如 `postgresql/prod-hobby`、`hdfs/prod-ha`),指向项目同级目录 `datasource/{db_type}/{env}-{实例简称}.ini`。裸名(如 `hobby`)无法解析。代码按 `/` 切首段取 db_type(即父目录名),实现在 `dw_base/datax/plugins/plugin.py:37`、`plugin_factory.py:34`。跨环境同步(如 test 业务库 → prod HDFS)是常态,不设全局 env 概念,每个 sync ini 显式指向各自 env 的 source ini。
 

+ 1 - 1
manual/ddl/raw/prd/raw_prd_checklist_base_info_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:[已执行]
 -- 备注:配套 sync ini = jobs/raw/prd/raw_prd_checklist_base_info_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/prd/raw_prd_checklist_base_info_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_prd_checklist_base_info_inc_d;
 

+ 1 - 1
manual/ddl/raw/prd/raw_prd_panini_checklist_base_info_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:[已执行]
 -- 备注:配套 sync ini = jobs/raw/prd/raw_prd_panini_checklist_base_info_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/prd/raw_prd_panini_checklist_base_info_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_prd_panini_checklist_base_info_inc_d;
 

+ 1 - 1
manual/ddl/raw/prd/raw_prd_panini_checklist_version_config_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:[已执行]
 -- 备注:配套 sync ini = jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/prd/raw_prd_panini_checklist_version_config_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_prd_panini_checklist_version_config_inc_d;
 

+ 1 - 1
manual/ddl/raw/shp/raw_shp_tzy_merchant_info_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:[已执行]
 -- 备注:配套 sync ini = jobs/raw/shp/raw_shp_tzy_merchant_info_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/shp/raw_shp_tzy_merchant_info_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_shp_tzy_merchant_info_inc_d;
 

+ 1 - 1
manual/ddl/raw/trd/raw_trd_card_group_info_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:第一版(已与业务库后端对账)
 -- 备注:配套 sync ini = jobs/raw/trd/raw_trd_card_group_info_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/trd/raw_trd_card_group_info_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_trd_card_group_info_inc_d;
 

+ 1 - 1
manual/ddl/raw/usr/raw_usr_app_base_user_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:[已执行]
 -- 备注:配套 sync ini = jobs/raw/usr/raw_usr_app_base_user_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/usr/raw_usr_app_base_user_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_usr_app_base_user_inc_d;
 

+ 1 - 1
manual/ddl/raw/usr/raw_usr_app_user_cert_info_inc_d_create.sql

@@ -5,7 +5,7 @@
 -- 状态:[已执行]
 -- 备注:配套 sync ini = jobs/raw/usr/raw_usr_app_user_cert_info_inc_d.ini;
 --       配套 mask 配置 = jobs/raw/usr/raw_usr_app_user_cert_info_inc_d.mask.ini;
---       字段决策溯源 = kb/22-raw建模.md
+--       字段决策溯源 = kb/22-业务库raw建模.md
 
 DROP TABLE IF EXISTS raw.raw_usr_app_user_cert_info_inc_d;