用途:在搭建或重构 dbt 项目、设计模型分层、编写或评审 dbt 模型、定义指标、构建语义层、实现缓慢变化维度、编写测试与数据契约、配置 source 与 freshness、讨论维度建模时启用。不适用于与 dbt 模型无关的编排工具(Airflow、Dagster)及原始数据摄取或 ELT 连接器配置。
主要能力:主张三层架构——staging(与源表 1:1,仅重命名与类型转换)、intermediate(业务逻辑连接与过滤)、marts(面向分析师的宽表);每个 mart 明确粒度并写入 YAML;用 unique、not_null、relationships 及自定义 singular 测试校验主外键与业务规则;指标以版本化 YAML 定义(MetricFlow、Cube、LookML),而非 BI 计算字段;大事实表用增量模型配合 unique_key 与 is_incremental();配置 source freshness 在 CI 中检查。
使用方式:按 staging/intermediate/marts 组织目录,文件名用下划线、双下划线分隔源系统与实体;staging 用 view,marts 用 table 或 incremental;用 ref()、source() 引用;在 YAML 中声明 semantic_models、metrics、columns 描述与测试;运行 dbt source freshness 检查源数据新鲜度。
限制与注意:增量模型 unique_key 不当会静默重复行;ref() 只保证编译期依赖,源表为空时下游可能零行无报错;语义层与 BI 工具同时定义指标会分叉;staging 中 SELECT * 会因上游 schema 变化静默改变结构;增量 WHERE 中硬编码日期在 --full-refresh 时会丢历史数据。参考资料文件较长,仅在需要时加载。首次激活会检查配套技能,缺失时可用 npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name> 安装。