Skip to content

【数据质量】使用Sifflet 获得可靠的数据

Published: at 02:17

数据中台有一个非常重要的作用,就是做数据分析和支持决策的重要依据,而数据从业务系统等数据源入仓后,会经过几层甚至几十层的转换传递,这其中任何一个环节出现问题,都会导致被依赖数据的连锁反应,最终到达分析和决策层后,带来的影响不容小觑,这也是我们在大数据工作中,把数据测试的排期拉的甚至比开发时间还要长的重要原因!

我们要确保数据的准确性、一致性、完整性和及时性,以帮助公司做出明智的决策。由于发现了工具,研究了一下如何使用数据可观察性平台 Sifflet 来监控数据质量的。

为什么要监控数据质量?

数据质量是指数据在特定时间点的健康状况。以下标准可用于监测数据:完整性、唯一性、有效性、一致性、准确性和完整性。这里我就不做赘述了,相信从事数据开发相关工作的,对这些都并不陌生。

不过为了连贯,我还是通俗得阐述下他们的含义:

良好的数据质量对公司来说至关重要。

在处理大量数据时,必须实现质量控制自动化。Sifflet 平台是监控大量数据的理想解决方案。

什么是 Sifflet?

Sifflet 是一个全栈数据可观察性平台,使企业能够信任其数据,从而大规模地提供可操作的见解。重要的是要明白,数据可观察性并不等同于数据监控。Sifflet 平台有三大特点,随后我在介绍

Sifflet 平台示例

数据可观察性和数据监控之间有何区别?

数据监控能够识别一组预定义的故障模式。而数据可观察性则更进一步,因为它有助于了解事件的源头。总之,数据监控属于数据可观察性的范畴。

Sifflet 可能被应用在什么地方?

什么是数据血缘?它是一种数据传递流程,可让您创建一张地图,显示数据的起源和所经历的阶段。

数据血缘示例

零售项目数据质量使用案例

我从一遍博客中看到了这个案例,分享出来,大家共同学习一下

项目背景

数据从各种来源收集,并放入数据仓库。这些数据都是未经转换的原始数据。检索数据后,使用 DBT(数据构建工具)对数据进行转换。最后,数据分析师使用这些转换后的数据为用户创建仪表盘。

下面是实施Sifflet之前的数据管道架构 20240609024950

什么是 DBT?它是一种基于 Python 的开源环境,用于通过 DBT 测试进行数据管道和数据质量的数据转换。下文将详细介绍 DBT。

问题以及解决方案

问题:数据管道不包括任何数据质量检查。这可能会造成令人尴尬的后果,例如显示不完整或不正确的仪表盘。这就是选择可观察性平台 Sifflet 的原因。

Sifflet 与数据处理管道并行连接,以便在每个阶段检查数据质量是否正确。

实施Sifflet之后的数据管道架构 20240609025311

如何使用 Sifflet 提高数据质量?

在 Sifflet 上创建监控规则简单快捷。具体步骤如下: 首先,您需要将 Sifflet 连接到数据源。有关如何安装新数据源的更多详情,我建议查阅 Sifflet 文档,其中介绍每个步骤。

20240609025424

然后,在 “Monitors “选项卡中,可以在所需表格上创建新的监控规则。不要忘记配置规则的执行和通知。 20240609025602

如果出发了预定的事件,可以在 “incidents “选项卡中查阅,然后将其分配给自己。呈现数据生命周期的 “数据血缘 “有助于了解问题的起源,从而解决问题。 20240609025622

总结

虽然还没有实际在项目中使用过这个产品,但似乎这将会是一个非常有用的工具,这其中的功能其实和Dataphin很像,Dataphin毕竟是一个功能复杂庞大的系统,很多功能要和其他的模块相融合,无法真正做到某一件事情的“纯粹”,我不知道我是否表达清楚,什么都有,就会有所取舍和妥协,如果只做一个事情,比如只做数据监控,那么事情才能做到极致。

所以我非常希望有机会可以做项目中使用一下这个工具。

好啦,同志们如果也想试试,不妨去官网看看哈。

See you