Press "Enter" to skip to content

数据质量的层次

如何解决数据问题的位置和方式

由Stephen Dawson在Unsplash上的照片

随着对生成式人工智能和LLMs的兴趣的激增,数据质量再次引起关注。并不是说这个领域需要太多的帮助:像Monte Carlo、Soda、Bigeye、Sifflet、Great Expectations和dbt Labs这样的公司一直在开发一系列解决方案,从专有到开源。虽然其中一些解决方案是直接竞争对手,但它们并不都解决相同的问题。例如,明确定义一个dbt测试以确保某一列包含唯一值与在指标上进行异常检测是非常不同的(例如,你的dim_orders过程一天生成了50,000条记录,而通常只有500,000条)。数据可能以各种令人惊讶和多样化的方式出现问题。

你可能听说过数据质量维度;我特别喜欢Richard Farnworth的观点¹,但快速的谷歌搜索会得到数十种不同的观点。然而,在核心上,思想是数据在某一方面可能是“正确”的,但在其他方面可能是错误的。如果你的数据是正确的但是迟到的,它还有价值吗?如果数字在客观上是错误的,但它们是一致的²呢?这是数据产品管理和确定利益相关者优先事项的重要方面。

目前,对于数据格式错误、缺失、迟到、不完整等问题的关注很多,但对于数据质量问题的根本原因却很少关注。我们花费了大量时间测试和观察数据本身,而不是寻求改进产生、转换和使用数据的系统。我想探讨这些数据质量问题的“层次”,解决方案以及应该参与解决与它们有关的问题的团队。

第一层:数据产生

所有的数据都来自某个地方,而数据质量问题的根本原因经常是数据源。按照垃圾进垃圾出的原则,你无法从质量差的源系统数据中获得有用的数据产品。

这一层面有三个根本的数据质量问题来源:模式漂移、语义漂移以及系统可用性和可靠性。它们都非常重要,但会导致不同的数据质量问题。更重要的是,它们需要不同的解决方案,并且通常需要不同的团队参与解决…

Leave a Reply

Your email address will not be published. Required fields are marked *