章节摘要:本章是全册的实战主线,沿着一条施工工序推进:先画图纸(模型目录与分层规范),再验材料(数据源声明与种子文件),然后定验收标准(数据质量测试),最后用一个电商项目从零到一把前两章的机制全部用一遍——订单、用户、支付三类数据从贴源层一路建到指标宽表,走完建模、实现、测试、上线的全过程。读完本章,你应当具备独立搭建一个中小规模 dbt 项目的完整能力。
阅读完本章,你应当能够:
本章四个主题对应施工的四道工序:图纸(结构与规范)先行,材料(源与种子)进场验收,验收标准(测试)在开工前定好,最后才是主体工程(项目复盘)连轴转。这个顺序不是教学上的方便,而是实际项目里返工成本最低的顺序——图纸错了,后面每一层都在放大错误。
一句话锚点:分层是骨架,源与种子是材料,测试是验收标准——三样备齐,项目复盘才是一场「照图施工」而不是边干边猜。
两种读法,取决于你的处境。边学边做型:跟着 3.1 立规范、3.2 登记源、3.3 配测试,到 3.4 看一次完整组装,读完即可动手搭自己的项目。先看全貌型:直接从 3.4 的复盘读起,遇到看不懂的工序再回前三节补概念——复盘是答案,前三节是解题过程,有人喜欢先看答案再验证过程,这完全成立。
另外提醒一点:本章的规范与清单(三层职责、命名三段式、测试四件套、上线检查单)都是「可以直接抄的工程物料」。抄不是贬义——这些条目在多个项目里被验证过,从抄开始、按自己业务改,比从零发明少踩一半的坑。工程方法论的学习本来就该站在别人的竣工图上。
3.1 模型结构与分层规范 —— 讲清三层结构(staging、intermediate、marts)各自的职责红线,以及命名规范如何让目录「自解释」。这一节是防止项目腐化的第一道闸。
3.2 数据源、种子与新鲜度 —— source 声明把「别人喂给我的原始表」统一登记在案,附带新鲜度监控;seed 把百万行以内的参照数据收进版本库。两者都是「进场材料验收」。
3.3 数据质量测试体系 —— 测试即验收:内置的通用测试覆盖结构性校验,自定义 SQL 测试覆盖业务规则,严重级决定告警路由。这一节的理念是「测试不是质检部门的活,是每道工序的自检」。
3.4 电商数仓复盘:从建模到上线 —— 一个完整项目的全程记录:从一页需求单出发,分层设计、逐层实现、配置测试、接入调度,到最后上线验证。前三节的所有概念在这里变成具体工序。
前三节各交付一样「施工要素」,第四节把它们组装成完整项目:规范给项目骨架,源声明给项目材料,测试给项目验收,复盘把三者串成一条时间线。
3.1 分层规范(骨架) | v 3.2 源与种子(材料) | v 3.3 测试体系(验收标准) | v 3.4 电商项目复盘(骨架 + 材料 + 标准 => 一次真实施工)
前置知识:第二章的机制(尤其物化与增量——分层设计里每层选什么物化直接引用 2.2 节的四要素法);读懂多表 JOIN 与窗口函数的基础 SQL。
往后的延伸:本章的项目规模控制在中小体量、单人可维护的范围。项目变大之后会遇到三类新问题——逻辑重复要靠宏抽取(4.1)、第三方通用模型要靠包管理(4.2)、大表性能要靠调优(4.3),这些是第四章的主题;项目要多人协作、定时生产,就进入第五章的环境与流水线话题。