首页/数据/数据工程与 ETL 速查/Amazon Deequ 数据质量库

Amazon Deequ 数据质量库

Deequ 是构建在 Spark 之上的数据质量库:对 DataFrame 定义约束(完整性、唯一性、合规性等),一次扫描计算多项指标,支持结果导出与约束建议;适合已有 Spark 链路的团队在写入前做批量校验。

pydeequ 校验骨架

pydeequ 校验骨架
from pydeequ.checks import Check, CheckLevel
from pydeequ.verification import VerificationSuite

result = (VerificationSuite(spark)
  .onData(df)
  .addCheck(Check(spark, CheckLevel.Error, "orders")
    .hasSize(lambda x: x >= 1000)
    .isComplete("order_id")
    .isUnique("order_id")
    .isNonNegative("amount"))
  .run())
定位Spark 生态的数据质量约束与指标库
扫描方式一次扫描计算多约束指标,降低反复扫表成本
结果可转成表格落库,接入稽核结果表与看板
适用已有 Spark 作业、需要在写数前批量把关
约束阈值要结合历史基线设定:全设零容忍会让正常波动也触发失败。

易错点

  • 把 Deequ 当独立巡检跑全表:大表一次验证的扫描成本要单独评估
  • 阈值全部写死在代码里,业务波动时只能改代码重发布

数据来源与参考

  • Amazon Deequ 官方文档(awslabs/deequ)
  • pydeequ 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌