awslabs/deequ
Deequ is a library built on top of Apache Spark for defining "unit tests for data", which measure data quality in large datasets.
解决的问题
Deequ 提供了一种对大规模数据集进行「单元测试」的方法,以便尽早发现错误,防止损坏或错误的数据到达消费系统或机器学习算法。它允许开发人员明确声明其数据的假设(例如,特定列中没有空值),并在大规模数据上进行验证。
工作原理
基于 Apache Spark 构建,Deequ 可处理表格数据(CSV、数据库表、日志等),并将定义的约束转换为一系列 Spark 作业以计算指标。可通过 Scala/Java API 或一种名为 DQDL(数据质量定义语言)的声明式语言来定义完整性、唯一性、范围检查等规则。它还支持行级评估,以精确识别哪些记录违反了特定规则。
适用人群
在分布式文件系统或数据仓库中处理超大规模数据集(数十亿行)的数据工程师和机器学习实践者,需要确保数据质量和一致性。
主要亮点
- 可扩展的验证:利用 Apache Spark 设计用于处理数十亿行数据。
- 声明式规则:支持 DQDL,便于阅读且规则定义简单。
- 代码化约束:提供灵活的 API,用于定义复杂的检查,如分位数、URL 模式和大小约束。
- 高级分析:包含数据剖析、随时间变化的指标异常检测以及自动约束建议功能。
- 行级追踪:能够识别出具体哪些行未通过质量检查。
相关
- 项目
- 项目
- 项目
- 项目
- 项目