值得拥有的五大数据质量工具

来源:陈峻 51CTO 日期:2022-01-02

【51CTO.com快译】如今,企业比以往任何时候都更加依赖数据。根据Gartner的最新数据质量市场调查,那些糟糕的数据质量,每年平均会给企业造成1500万美元的巨大损失。而且错误的数据往往会让企业失去商机、损毁市场声誉、拉低客户信心、甚至造成重大的财务损失。毋庸置疑,只有准确、一致、完整且可靠的数据,才能真正为业务提供实际、有利的价值。为此,许多企业往往会使用数据质量的相关工具。在本文中,我们将和您讨论如下五种数据质量类工具:

  1. Great Expectations
  2. Spectacles
  3. Datafold
  4. dbt(数据构建工具)
  5. Evidently

在深入探讨工具之前,让我们首先了解一下保障数据质量的相关概念。

数据问题从何而来?

从广义上讲,内、外部因素都会导致数据出现质量问题。其中,外部因素是指企业从诸如Meta、Google Analytics或AWS Data Exchange等,无法控制的第三方获取数据。例如,不同公司的IT系统可能在合并或收购之后,需要进行数据整合。但是,由于未能审核这些来自第三方的数据质量,或是因为应用程序中的输入验证不当,则可能导致数据质量出现问题。

而内部原因则源于企业生态系统的内部。例如,我们常听说的企业数据孤岛,就是一些鲜为人知的数据源。它们仅由组织内的某些团队或部门所使用。此外,缺乏适当的数据所有权管理,使用错误的数据类型和模型,甚至是软件工程师在应用程序的任何层更改字段、或引入破坏数据的代码更新,都可能导致数据质量的不佳和不一致。

衡量数据质量

数据在企业中的质量与价值,很大程度上取决于该企业如何定义它们,以及如何确定它们的优先级。通常,我们有七个实用的质量衡量指标。

  1. 相关性:数据与业务的相关程度。
  2. 准确性:数据的精准程度。
  3. 完整性:数据是否完整,是否处于稳定状态。
  4. 一致性:数据在整个组织中的是否能保持一致。如果使用同一个应用程序,去转换多个来源的同一条数据,其输出应当始终相同。
  5. 合规性:数据是否符合业务规则所期望的标准和格式。
  6. 唯一性:相同数据的多个副本是否在企业中都可用,而且它是否来自唯一的真实数据源。
  7. 及时性:数据对于当前业务需求的及时性。

确保数据质量

如前所述,企业通常使用一些自动化工具,来检查数据的质量。这些工具既可以是定制开发的,也可以是由供应商直接提供的。这两种选择各有利弊。

如果拥有充沛的IT资源,并且明确地定义了数据质量的要求,那么企业可以考虑采用定制化的开发方案,通过推出适合自己的工具,去减少持续的成本支出。当然,构建自定义方案也可能比较耗时,而且容易超过最初的预算。

而如果公司需要快速、可靠的方案,且不想自行维护的话,那么购买现成的方案则是最好的选择。说到这里,下面让我们来讨论五种典型的数据质量工具。当然,市场上还有许多其他相似的工具。您可以选择混合搭配的方式,来满足自己的预算和真实使用场景。

1.Great Expectations

作为一个开源库,Great Expectations可用于验证、记录和分析数据。用户以期望(expectations)的形式定义断言(assertions)。顾名思义,期望是您期望从数据中获得的质量;断言则是用声明性语言编写的。例如,下图的断言示例定义了passenger_count列的值必须介于1和6之间。

Great Expectations的另一个功能是自动化数据分析。它可以根据统计数据,自动从数据中生成期望。由于数据质量工程师不必从头开始编写断言,因此大幅节省了开发的时间。

一旦各种预期准备就绪,它们就可以被合并到数据管道中。例如,在Apache Airflow中,数据验证步骤可以被定义为一个使用BashOperator的checkpoint script。它会在数据流经管道时,触发相应的质量检查。目前,Great Expectations兼容大部分数据源,其中包括CSV文件、SQL数据库、Spark DataFrames和Pandas等。

2.Spectacles

Spectacles是一种持续集成(CI)类工具,旨在验证项目中LookML。此处的LookML是Looker类型的数据建模语言。而Looker是一个BI(业务智能)平台,它允许那些不懂SQL的人员去分析和可视化数据。

Spectacles通过在后台运行SQL查询,并检查错误,来验证LookML。它能够与GitHub、GitLab和Azure DevOps相集成。该工具适用手动调用、从拉取请求中触发,以及作为ETL作业的一部分运行等,几乎任何类型的部署模式。而将Spectacles作为CI/CD工作流的一部分,意味着它能够在将代码部署到生产环境之前,自动验证LookML的相关查询。

3.Datafold

作为一个主动式的数据质量平台,Datafold由数据差异(Data Diff)、具有列级沿袭(lineage)的数据目录(Data Catalog)、以及数据监控(Data Monitoring),三个主要组件所构成。

    A+
声明:本文转载自其它媒体,转载目的在于传递更多信息,并不代表赞同其观点和对其真实性负责。