首页 > 解决方案 > 数据流的数据测试框架(deequ vs Great Expectations)

问题描述

我想在我的管道中引入数据质量测试(空字段/最大值/最小值/正则表达式/等...),这基本上会在数据登录到数据库之前消耗 kafta 主题测试数据。

我很难在 Deequ 和 Great Expectations 框架之间做出选择。Deequ 缺乏明确的文档,但具有“异常检测”,可以将以前的扫描与当前扫描进行比较。远大的期望具有非常好的和清晰的文档,因此开销更少。我认为这些框架都不是专门为数据流设计的。

谁能提供一些建议/其他框架建议?

标签: pythonqaamazon-deequgreat-expectations

解决方案


正如 Philipp 所观察到的,在大多数情况下,某种批次是对流数据应用测试的好方法(甚至 Spark Streaming 也有效地使用了“小批量”系统)。

也就是说:如果您需要使用流式算法来计算验证所需的指标(例如,维护观察数据的运行计数),则可以将目标指标分解为“状态”和“更新”部分,其中可以是“最后”和“当前”批次的属性(即使每个批次只有一个记录)。改进对这种跨批次指标的支持实际上是我们现在在 Great Expectations 中最积极努力的领域!

这样,我认为 Batch 的概念既深深植根于得到验证的核心概念中,又足够灵活地在流系统中工作。

免责声明:我是《远大前程》的作者之一。(堆栈溢出警报!:))


推荐阅读