Agent Skills
返回列表
Doris 数仓分层建模规范

Doris 数仓分层建模规范

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_60f50cbb/adminwdq。

技能介绍

要解决什么问题

在 Apache Doris 上落地 ODS/DIM/DWD/DWS 分层时,团队常遇到物化视图刷新语法不一致、REFRESH AUTO ON COMMIT 误用于高频 CDC、MV 嵌套周期配置不当导致数据时差,以及 ODS 层混入过滤与 JOIN 等问题。本技能把无固定库绑定的通用规范写进 Agent 工作流:脚本首行由使用者自行 USE 业务库名;,连接说明统一为 IP:9030,并明确 Doris ≥ 2.1.4 才可用 ON COMMIT。

技能如何组织规范

  • 分层对照表:ODS 为 Unique Key 物理表镜像 CDC;DIM/DWD/DWS-MV 为 Duplicate Key 物化视图(禁止手动指定 Unique/Aggregate Key);DWS-VIEW 为无落地的逻辑宽表。
  • 刷新策略:单表低写入用 BUILD IMMEDIATE REFRESH AUTO ON COMMIT;多表合并与日批用 ON SCHEDULE EVERY 1 DAY;同业务多子表 DWD 区分 11 分钟与 30 分钟定时,且定时语句必须带 ON SCHEDULE。
  • 命名与字段:ods_、dim_*_df、dwd_*_mini、dws_*_mv / dws_*_wide;全局统一审计字段,禁止分区与 lifecycle。
  • 部署顺序:ODS + Routine Load → DIM(先 ON COMMIT 再日批合并)→ DWD → DWS-MV(间隔大于上游)→ DWS-VIEW。
  • 故障排查:通过 tasks() 查 MV 刷新 FAIL,四步流程(状态 → ErrorMsg/LastQueryId → FE/BE 日志 → 手动完整刷新);注意 tasks() 仅保留约 100 条近期记录。

适用边界

DWD 禁止跨业务事实表 JOIN;DIM/DWD 不存用户姓名等长文本(仅 user_id,文本在 DWS 视图侧);DWS-VIEW 不做比率、同比、窗口等复合计算,交给 BI。实时持续 CDC 严禁 ON COMMIT。无 ADS 层对象;storage_medium 仅为可选优化,非强制校验项。

使用场景

  • 新业务库首次在 Doris 上批量建 ODS Unique 表并配置 Routine Load,需要按固定顺序部署 DIM/DWD/DWS
  • 同业务多张流水子表要写 DWD 物化视图,需区分 11 分钟与 30 分钟 `ON SCHEDULE` 且避免误用 ON COMMIT
  • 上线前要对全量 SQL 做分区、lifecycle、跨业务 JOIN 等 13 项通用校验,避免违反分层禁用清单
  • DWS-MV 刷新 FAIL 时,需按四步流程查 RefreshState、`tasks()` 的 ErrorMsg 并手动完整刷新兜底

适合人员

  • 负责 Doris 集群建模的数据平台工程师,要把 ODS/DIM/DWD/DWS 刷新策略与命名写成可评审的统一脚本
  • 维护日批与准实时 CDC 的数仓开发,需要在 2.1.4+ 集群上正确选用 ON COMMIT 与定时刷新
  • 上线前做 SQL 门禁的数据治理或架构同学,需对照禁用语法与 MV 嵌套周期约束逐项验收
  • 值班排查物化视图 FAIL 的 DBA/运维,熟悉 Navicat 与 MySQL 命令行两种 `tasks()` 查询写法