数据中台建设实践(二)- 数据治理之数据质量

政采云技术团队.png

时光.png

前言

我们已初步介绍了数据中台的背景和为什么需要建设数据中台,同时也介绍了数据中台在政采云的落地实现以及指标库的背景和使用。那么今天,我们就往大数据的海洋里再深入一点,讲一讲数据治理中的数据质量内容,以及数据质量在当前政采云中台中的落地和发挥的作用。

数据治理的背景

随着业务的开发,大数据的存储的数据量以及线上的作业量愈加庞大,在这些庞大的存储和元数据信息中,存在着大量冗余数据,这些数据对集群资源、数据开发的维护和管理都是一种极大的资源浪费,同时由于冗余无效的数据及作业的存在可能影响到核心作业的运行产出,所以当数据团队成立的越久,数据治理就会越来越凸显出重要性。

数据治理的核心内容如下:

  • 数据质量:数据质量指当前已通过大数据而产生的数据的准确性和合规性、作业运行的及时性和有效性、数据开发的规范性和数据应用的指标口径一致性等。
  • 数据安全:数据安全指通过大数据数据应用透出的数据是否合规安全、元数据信息中对敏感字段的定义和保护等。
  • 标准规范:标准规范指落在大数据内部开发过程以及通过数据应用透出数据时需合规合法。
  • 研发效率:研发效率是指希望通过数据治理能够较为明显的提升数据开发的效率,降低人力成本,更高效并且更便捷地提升大数据开发能力。
  • 成本控制:成本控制包括但不限于存储成本、计算资源、数据开发的人力成本等。

在本文中,重点介绍数据质量以及数据质量在政采云数据中台 IData 的落地和使用。

数据质量产生的原因

数据质量产生的原因有很多,具体概括也可分为以下 4 类:

  • 需求:需求设计、开发、测试、上线过程中引发的数据质量问题,主要是由于需求过程中管理机制和流程不健全导致。
  • 数据来源:来源数据本身存在问题,下游使用的过程中才暴露出上游数据质量问题。
  • 统计口径:不不同业务或部⻔门对相同名称的指标定义和⼝口径不不同,造成最终数据的质量量⽋欠缺。这也是为什么大数据体系中指标系统占据着非常重要的地位。
  • 数据平台问题:数据平台在数据开发、日常运行、作业调度等过程中出现问题,造成数据质量欠缺。

数据质量常用指标

数据质量作为数据治理的重要组成部分,其中包括的内容也分罗万象,具体可以通过以下五类指标衡量数据质量的优劣:

  • 规范性:判断数据的记录和信息是否符合规范,是否存在异常。
  • 完整性:判断数据的记录和信息是否完整,是否存在缺失情况。
  • 准确性:判断数据记录的信息和数据是否准确,是否存在异常或者错误信息。
  • 一致性:判断不不同数据体系针对同⼀一份数据是否保持⼀一致。
  • 及时性:在确保规范、完整、准确、及时的情况下,判断数据是否及时产出。

政采云数据中台的数据质量也基于上述指标设计和实现。

IData 数据质量

从系统设计层面来划分的话,当前 IData 数据质量可细分为监控模块和告警模块,其中监控模块也可认为是大数据元数据基本信息的采集和存储过程,是监控大数据数据的元数据信息,而告警模块则是基于监控以及配置的告警规则,来判断是否需要进行数据质量告警来通知数据开发同学对存在问题的作业及数据进行处理。 未命名文件 (2).jpg 从功能模块来划分的话,当前 IData 数据质量可分为监控管理、规则模块库和基线管理。以下从功能模块来介绍。

数据质量-监控管理

以下是数据质量的监控管理页面,该页面可支持对数仓中已沉淀的表进行监控规则的配置和设定。 image-20220405132054967.png

我们认为,监控和告警应当剥离而不是混淆在一起,监控产出的数据质量指标应当作为大数据数据的一份元数据信息,数据质量告警只是一个使用场景,但这份数据质量指标可做的不仅仅是数据质量的告警,同时也可以用于观察数据的产出效率数据产出规模的变化元数据相关信息的变更等。

监控告警规则的配置

image-20220407111533821.png

  • 当前 IData 中单个作业仅输出单张表,所以依据此规则可将监控管理界面配置的监控告警规则与数仓 ETL 过程相结合,实现作业 ETL 过程中的监控指标产出。支持对表级和字段级的监控规则配置。
  • 监控规则包含默认规则与自定义规则,具体规则相关内容在后续模块中介绍。
  • 由于在数据开发过程中,对单张表的监控规则可能发生临时变更但同时并不想删除该规则,当前也支持停用规则,给规则的配置提供较高的灵活性。

监控告警日志

image-20220407173729324.png

  • 监控日志中可查看到配置的所有作业的监控及告警情况。同时也支持单个表的当前及历史监控告警记录,便于拓展后续数据质量指标的使用场景。
  • 监控日志具体包括数据的产生时间(作业运行完成时间)、根据配置的监控规则所得到的数据质量指标值是否告警告警等级

数据质量-规则模块库

规则模板库中为数据质量监控告警所使用的规则,其中包含前期调研整理的认为是通用性的监控告警规则和用户自定义规则。

根据规则配置产出的数据质量指标可分为完整性准确性实效性三类,我们认为数据质量的监控告警规则都可以归属于这三大类中。

内置规则

根据前期调研整理出 9 条内置规则,按指标类型分类如下:

完整性

表行数波动:表级别规则,配置规则时可指定表行数的波动范围。最新一次数据产出的行数与前一次数据产出的行数发生的波动范围不在规定范围内时,触发告警。

表行数减少:表级别规则,无需其他配置项。最新一次数据产出的行数比前一次数据产出的行数少时,触发告警。

字段枚举值内容:字段级别规则,配置规则时需指定该字段仅可包含哪些枚举值。数据产出时,根据获得的该字段枚举值内容与配置的枚举值范围比较,若出现非配置枚举值范围内枚举时,触发告警。

字段枚举值个数:字段级别规则,配置规则时需指定该字段枚举值个数。数据产出时,根据获得的该字段枚举值个数与配置规则时指定的枚举值个数比较,若大于配置个数,触发告警。

表不为空:表级别规则,无需其他配置项。最新一次**数据产出的行数若为 0 **,触发告警。

准确性

表主键唯一:表级别规则,该主键指表的逻辑主键,逻辑主键数据来源于 IData 的数仓设计模块。 ETL 过程中会根据数仓设计中逻辑主键的配置规则进行主键唯一校验,若**数据质量指标产出为 false **时,触发告警。

字段数据值范围:字段级别规则,配置规则时可指定字段的最大值和最小值。数据产出时,根据获得的该字段的最大值和最小值与配置的最大最小值进行比较,任一数据不在规则范围内时,触发告警。

字段值不为空:字段级别规则,可配置字段值为空的阈值。 ETL 过程中会查询该字段为空(包含 null 和空串)的数量,若获得的字段为空数量大于配置的阈值,触发告警。

时效性

表产出时间:表级别规则,可配置表的期待产出时间。 ETL 过程中,可能出现调度系统调度部分作业卡死状态,若出现核心作业卡死会导致严重的数据产出延迟事故,所以数据质量模块会轮询查询配置了该规则的表产出时间,若在配置的时间还未获得该表产出时间,触发告警。

自定义规则

当前 IData 数据质量模块支持自定义规则,即支持用户自定义数据质量执行 sql 用于采集作业数据质量指标,并根据自定义 sql 配置监控告警规则。 image-20220407194311044.png

数据质量-基线管理

当前 IData 数据质量的基线管理起到的作业是对当前大数据核心基础性表进行统一管理,配置统一的基准性的规则,该规则适用于基线中所有的表。 image-20220407195003401.png

总结

数据治理是大数据体系中一个重要的组成部分,随着公司的发展,数据量的增加和数据的大量使用肯定会引出数据治理问题。数据质量作为数据治理的一个重要组成部分,已逐渐在当前政采云数据中台中发挥重要的作用,但是数据治理以及数据质量并不单单只是数据团队需要关注和思考的,任何会产生数据的部门和团队都应该把控和确保数据的准确性和有效性,数据源头的治理才能进一步确保数据治理的有效性。

当前已有团队依赖数据中台 IData 的数据质量能力反查数据源头的准确性,后续数据平台团队也会进一步拓展 IData 数据治理的能力,包括但不限于数据安全、标准规范、研发效率和成本控制等,进一步完善数据中台的能力。

推荐阅读

数据中台建设实践

如何高效生成百万数据

kubernetes scheduler 源码解析及自定义资源调度算法实践

招贤纳士

政采云技术团队(Zero),一个富有激情、创造力和执行力的团队,Base 在风景如画的杭州。团队现有300多名研发小伙伴,既有来自阿里、华为、网易的“老”兵,也有来自浙大、中科大、杭电等校的新人。团队在日常业务开发之外,还分别在云原生、区块链、人工智能、低代码平台、中间件、大数据、物料体系、工程平台、性能体验、可视化等领域进行技术探索和实践,推动并落地了一系列的内部技术产品,持续探索技术的新边界。此外,团队还纷纷投身社区建设,目前已经是 google flutter、scikit-learn、Apache Dubbo、Apache Rocketmq、Apache Pulsar、CNCF Dapr、Apache DolphinScheduler、alibaba Seata 等众多优秀开源社区的贡献者。如果你想改变一直被事折腾,希望开始折腾事;如果你想改变一直被告诫需要多些想法,却无从破局;如果你想改变你有能力去做成那个结果,却不需要你;如果你想改变你想做成的事需要一个团队去支撑,但没你带人的位置;如果你想改变本来悟性不错,但总是有那一层窗户纸的模糊……如果你相信相信的力量,相信平凡人能成就非凡事,相信能遇到更好的自己。如果你希望参与到随着业务腾飞的过程,亲手推动一个有着深入的业务理解、完善的技术体系、技术创造价值、影响力外溢的技术团队的成长过程,我觉得我们该聊聊。任何时间,等着你写点什么,发给 zcy-tc@cai-inc.com

微信公众号

文章同步发布,政采云技术团队公众号,欢迎关注

政采云技术团队.png