微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于数据流传输的数据测试框架deequ vs远大期望

如何解决用于数据流传输的数据测试框架deequ vs远大期望

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

我很难在Deequ和Great Expectations框架之间进行选择。 Deequ缺乏清晰的文档,但是具有“异常检测”功能,可以将以前的扫描与当前的扫描进行比较。期望值很高的文档非常清晰明了,因此开销较小。我认为这些框架都不是专门用于数据流传输的。

任何人都可以提供一些建议/其他框架建议吗?

解决方法

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

那是说:如果您需要使用流算法来计算验证所需的指标(例如,保持对观察到的数据的连续计数),则可以将目标指标分解为“状态”和“更新”部分,可以是“最后”批次和“当前”批次的属性(即使它们分别只是一个记录)。实际上,我们现在在《大期望》中最积极地致力于提高对这种跨批次指标的支持!

通过这种方式,我认为批处理的概念既深入到了验证内容的核心概念中,又具有足够的灵活性以在流式系统中工作。

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

,

您可以对数据进行小批量处理,并将数据质量验证分别应用于每个批处理。此外,deequ允许对数据质量度量进行有状态的计算,就像James已经指出的那样,对两个数据分区计算度量,然后将其合并。您可以找到此Android studio screenshot的deequ示例。

是否存在deequ文档中未涵盖的特定示例?您可以找到对Spark Dataframe here运行deequ的基本示例。此外,同一文件夹中还有更多示例,例如,用于异常检测用例。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。