数据流的数据测试框架(deequ vs Great Expections)

2024-09-30 19:30:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的管道中引入数据质量测试(空字段/max-min-values/regex/etc…),这将基本上使用kafta主题在数据登录到数据库之前测试数据

我很难在Deequ和Great Expections框架之间做出选择。Deequ缺乏清晰的文档,但有“异常检测”,可以将以前的扫描与当前的扫描进行比较。《远大前程》有非常好且清晰的文档,因此开销较小。我认为这两个框架都不是专门为数据流而设计的

有人能提供一些建议/其他框架建议吗


Tags: 数据文档框架主题管道质量etcmin
2条回答

您可以对数据进行小批量处理,并对每个批次分别应用数据质量验证。此外,deequ允许有状态地计算数据质量度量,正如James已经指出的那样,度量在两个数据分区上计算,然后合并。你可以找到这个here的例子

是否有deequ文档中未包含的具体示例?您可以找到一个针对Spark数据帧here运行deequ的基本示例。此外,同一文件夹中还有更多示例,例如异常检测用例

免责声明:我是deequ的作者之一

正如Philipp所观察到的,在大多数情况下,某种批次是将测试应用于流式数据的好方法(即使Spark streaming也有效地使用了“迷你批次”系统)

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

这样,我认为批处理的概念既深入到了验证的核心概念中,又足够灵活,可以在流媒体系统中工作

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

相关问题 更多 >