数据管道测试与 CI/CD:从单元测试到数据 diff 门禁
数据管道的测试无法照搬应用测试:SQL 转换、状态存储与外部依赖让单元测试、集成测试和生产验证各有分工。本文拆解管道测试金字塔的分层策略、dbt 与 pytest 的单元测试写法、容器化集成测试、数据 diff 与对账断言、契约与 Schema 兼容性校验、CI/CD 流水线设计(分支构建、制品晋级、幂等回滚),以及影子运行与灰度发布的生产验证方法与常见反模式。
tag
数据管道的测试无法照搬应用测试:SQL 转换、状态存储与外部依赖让单元测试、集成测试和生产验证各有分工。本文拆解管道测试金字塔的分层策略、dbt 与 pytest 的单元测试写法、容器化集成测试、数据 diff 与对账断言、契约与 Schema 兼容性校验、CI/CD 流水线设计(分支构建、制品晋级、幂等回滚),以及影子运行与灰度发布的生产验证方法与常见反模式。
深入解析指标层(Metrics Layer)与语义层(Semantic Layer):指标口径不一致的根源、定义指标体系(原子指标/派生指标/复合指标)、语义层的设计原则(单一定义/多路复用/可度量)、dbt 语义层与 LookML/MetricFlow 的实现、指标的生命周期治理、自助分析平台如何消费指标、以及指标质量与口径变更的可观测性。
深入探索 Modern Data Stack 的每个组件:ELT/ETL 架构选型、dbt 数据转换、数据仓库/湖/湖仓一体、Airflow/Prefect/Dagster 编排、Great Expectations/Soda 数据质量、DataHub/Amundsen 数据目录与治理。附完整代码示例与对比表。
dbt (data build tool) 完整实践指南:models、tests、docs、macros 核心概念,Jinja 模板编程,CI/CD 集成以及 dbt Cloud 与 dbt Core 部署策略。