用途:在生产数据管道中实施数据质量校验,涵盖 Great Expectations、dbt 测试与数据契约,确保数据可靠。适用场景包括在管道中加入质量检查、设置 Great Expectations 校验、构建 dbt 测试套件、建立团队间数据契约、监控质量指标、在 CI/CD 中自动验证。
核心概念:数据质量维度含完整性、唯一性、有效性、准确性、一致性、时效性,分别对应如 expect_column_values_to_not_be_null、expect_column_values_to_be_unique、expect_column_values_to_be_in_set 等检查;数据测试金字塔分为结构(schema)、单列(单元)与跨表(集成)测试。
主要能力与用法:Great Expectations 提供安装与初始化命令 pip install great_expectations、great_expectations init、great_expectations datasource new,可创建 expectation suite 并运行 checkpoint;示例含订单套件,覆盖 schema、主外键、枚举值、数值范围、日期可解析、时效与行数、统计期望。Checkpoint 配置可存储校验结果、更新 Data Docs,并在失败时通过 SlackNotificationAction 通知;运行后检查 result.success,失败即抛错。dbt 测试通过 schema.yml 定义 unique、not_null、relationships、accepted_values 与 dbt_utils.recency、at_least_one、expression_is_true 等;可编写通用测试(如 row_count_in_range、sequential_values)与单例测试(如孤儿订单检查)。数据契约以 YAML 描述元数据、服务器、条款、schema、质量检查与 SLA,质量部分示例采用 SodaCL 语法。自动化管道可用 Python 类逐表校验、汇总失败项并生成报告,任一失败即让流程失败。
限制:资料未提供具体收费、价格、平台支持与效果数据;部分示例依赖 Snowflake、dbt_utils、Soda Core 等外部组件。