新业务库表(PG)入数仓 raw 层的标准流程。生成 → 评审 → 配置裁剪脱敏 → 落地 → 文档化一条线,由 sync 生成器 + DDL 生成器 + mask 配置三件协同。
┌──────────────────┐
│ Step 1:跑 sync │ 不带 -mask-conf
│ 生成器(初版) │ → workspace 全字段 ini + md
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 2:业务+数仓 │ 字段评审:哪些不入仓 / 哪些脱敏
│ 评审字段 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 3:写 mask │ jobs/raw/{域}/{table}.mask.ini
│ 配置 │ 参考 conf/templates/datax/mask/
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 4:跑 sync │ 带 -mask-conf
│ 生成器(终版) │ → workspace 几乎可用 ini + md(留档)
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 5:微调 ini │ → jobs/raw/{域}/{table}.ini
│ + 提交 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 6:md 同步 │ 字段表复制到 kb/24-raw 建模.md 对应章节
│ 到建模文档 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 7:跑 DDL │ -l raw -ini xxx.ini
│ 生成器 + 微调 │ → manual/ddl/raw/{域}/{table}_create.sql
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Step 8:PR 提交 │ 四件套:mask.ini + sync.ini + DDL + kb/24 章节
│ 四件套 │
└──────────────────┘
python3 bin/datax-sync-template-gen.py \
-ds postgresql/{env}-{instance} \
-t public.{table_name} \
-o
输出 workspace/{yyyymmdd}/{table_name}.ini + .md:
pg_class.reltuples)、锚点字段 create_time / update_time 存在性 + 抽样非空率(TABLESAMPLE SYSTEM(1) LIMIT 1000)、软删字段命中(del 子串,含噪声待人工筛)[mask] 段会议 + 字段表对照,确定每个字段:
同时基于 md 探查段评审:
update_time 抽样非空率 < 95% → 业务方需补维护或换锚点(如改用 create_time、改全量同步)delivery_end_time 中"del"误命中)人工筛除,确认主软删字段名;多张表命名不一致时(del_flag vs del_flg)推动后端统一输出:会议纪要里逐字段决策。
落位 jobs/raw/{域}/{table}.mask.ini,参考 conf/templates/datax/mask/mask.template.ini 格式。
[mask]
# field = method
field1 = trim
field2 = mask_middle
field3 = md5
python3 bin/datax-sync-template-gen.py \
-ds postgresql/{env}-{instance} \
-t public.{table_name} \
-mask-conf jobs/raw/{域}/{table_name}.mask.ini \
-o
输出:
workspace/{yyyymmdd}/{table_name}.ini —— reader.column 已剔除 trim 字段,[mask] 段已渲染workspace/{yyyymmdd}/{table_name}.md —— 脱敏类型列已填留档不动 workspace 版本。
复制 workspace ini → jobs/raw/{域}/{table_name}.ini,手动微调:
_inc_d / _his_o 等,按业务实际)不限于补注释——根据实际情况调。
复制 workspace .md 字段表 → kb/24-raw 建模.md 对应表章节。人工维护——后期 raw 建模文档由人类驱动更新,不做脚本自动追加。
python3 bin/hive-ddl-gen.py -l raw -ini jobs/raw/{域}/{table_name}.ini -o
注:DDL 生成器 ods 阶段暂未实现,本流程当前只覆盖 raw。
输出 workspace/{yyyymmdd}/{table_name}_create.sql,复制 → manual/ddl/raw/{域}/{table_name}_create.sql,手动微调(表注释 / 字段注释完善 / LOCATION 路径核实)。
一次 PR 包含:
jobs/raw/{域}/{table_name}.mask.ini(裁剪脱敏配置)jobs/raw/{域}/{table_name}.ini(sync 配置)manual/ddl/raw/{域}/{table_name}_create.sql(raw 建表 DDL)kb/24-raw 建模.md 对应表章节(字段三态决策文档化)按 kb/93 ADR 决策推进:
-l ods 支持,类型映射 conf 驱动 + 技术字段(etl_time / src_sys / src_tbl)conf/dq.ini 的表自动跑 schema 变更探查(mask conf 作 ground truth)+ 数据量比对(PG vs Hive count + 阈值告警)