确定了人类的需求层次,从食物和住所等广泛的生理需求开始,到社会需求上升,最后以创造力和自我实现为上限。
数据团队有自己的需求层次结构,重点是确保数据是正确的。在与大大小小的公司的数据工程师和数据科学家合作后,我将如何描述数据团队对数据质量的需求层次结构,从数据新鲜度的底层开始,我们确定是否拥有我们需要的数据首先。
理想情况下,团队应该有适当的工具来衡量每个级别的数据质量。
第 1 层:数据新鲜度
要获得高质量的数据,您必须首先确保您拥有数据。 
你的管道运行了吗?如果有,什么时候?管道是否产生了新数据,还是产生了与前一次运行相同的数据?要检查过时的数据,必须仔细和广泛地识别卡住的数据馈送。很容易检测到没有任何更新,但在许多情况下,序列号或时间戳移动并不意味着其余数据已移动。
第 2 层:数据量
一旦建立了数据新鲜度,下一个需要解决的问题就是数据量。我们可能会提出以下问题:
数据量是否符合我们的预期?
如果数据量不同,它们是否符合我们在业务中已经观察到的趋势,例如周末或半夜的活动很少?
在某些企业中,例如零售商,假期和即将到来的假期可能有不同的数量。根据应用程序的不同,分析数据量可能需要考虑多种特征的稳健数据模型。 
第 3 层:数据模式
接下来是数据的布局:字段名称及其类型。在我与数据团队的合作中,我看到了许多跟踪此问题的方法,从使用存储在字符串字段中的 JSON 数据到在支持它的系统中使用子记录数据类型,例如 BigQuery。决定方法时有许多考虑因素,但关注的关键领域通常集中在缺失的数据列或关键字段上。 
对于类型检查,我的建议是谨慎行事。开发和生产环境中的许多字符串实际上是日期或数字。您可能需要考虑将类型“提升”到它们的最佳表示应该是什么。这意味着在混合类型字段上,如果适用,您将构建一个与字符串分开的数值模型。  
第 4 层:数据值
最后,我们考虑数据值本身的内容。要在此处评估数据质量,如果值的唯一性相对于总体规模相当低,则需要推断类别。 
对于字符串,我们计算了许多潜在的模型来描述和捕获新类型的字符串,而不会被诸如值是否为空或字符串长度等简单问题所困扰。
第 5 层:使用元数据进行沿袭标记
调试数据流通常会导致诸如“为什么这个字段有这个值?”之类的问题。 
在构建数据管道的过去生活中,我一遍又一遍地遇到这个问题。我的解决方案是用解释推理的字段来扩充数据,我可以在其中嵌入各种元数据:人类可读的解释、脚本文件名和行号、其他变量,或者我以后调试问题所需的任何内容. “我已将此标记为缺货,因为两个数据源说它缺货,尽管我们的第三个数据源说我们有 1,000 个”在检查单个记录时非常有用。 
不是每个人都有附加重要元数据的奢侈,但如果你能做到,你应该这样做。如果您正在考虑使用可以自动发现数据字段问题的工具,请注意,这些工具也可以分析您的新元数据字段,如果需要,只会生成元数据警报,提醒您注意幕后的新行为。
充分利用您的数据质量需求层次结构
这里要记住的是,这个层次结构确实是一个层次结构。一切从数据新鲜开始。如果您在层次结构的所有较高级别中分析的数据都是陈旧的,那么您将对数据质量产生错误的信心。当您真正重复对上周三数据的分析时,您会认为今天的数据很棒。
一旦您确保数据是最新的,您就可以确保您已获得所有数据,您了解其架构,等等。
我建议数据团队确保他们为每一层都准备好工具,并且可以单独跟踪它们。然后,当所有层都报告了可靠的结果时,您就会知道您已经满足了层次结构中的所有需求。对于一个忙碌的数据团队来说,这本身就是一种超越。即使是马斯洛也会很高兴。