大数据平台的核心理念是构建于业务之上,用数据为业务创造价值。大数据平台的搭建之初,优先满足业务的使用需求,数据质量往往是被忽视的一环。但随着业务的逐渐稳定,数据质量越来越被人们所重视。
千里之堤,溃于蚁穴,糟糕的数据质量往往就会带来低效的数据开发,不准确的数据分析,最终导致错误的业务决策。而网易也在数据质量方面不断探索,本文将对网易有数大数据平台的子产品,数据质量中心的现状及规划方向进行简要介绍。
1背景
网易有数大数据平台对数据的全生命周期都进行了管理,从数据规划开始,到数据准备、模型的设计、模型开发采取了全链路的质量管理措施,数据质量中心是其数据治理的重要一环。
追根溯源,导致数据出现质量问题的原因有很多,总的来看,主要有业务、技术、管理、基础设施四个方面:
- 业务端:业务源系统变更(源系统数据库表结构变更、源系统环境变更)、业务端数据输入不规范等;
- 技术端:数据开发任务中各种任务的流程、参数、配置等出错;
- 管理端 :认知层面缺乏质量意识、缺乏有效的数据质量问题处理机制等;
- 基础设施:物理资源不足、基础设施不稳定等。
数据质量中心围绕着事前定义监控规则、事中监控数据生成、事后质量衡量评估三个部分建立全链路监控。能够在数据开发的过程中,及时发现脏数据,防止脏数据污染下游任务,提高质量监控效率。
数据质量中心在大数据平台所处的位置如上图所示,主要服务于开发阶段中的离线开发。而具体操作时,首先在数据质量中心创建监控任务,选择需要监控的对象,然后针对监控对象配置表级以及字段级设置监控规则。在离线开发任务中,去绑定质量监控任务,并针对质量监控配置报警。离线开发配置完成后,可以在数据质量中心查看表质量评估相关内容,包括查看质量大屏、表质量评分以及监控任务的执行趋势等。下面将分别在质量规则、质量监控任务、质量结果评估等几个方面进行介绍。
2定义数据质量需求和规则
DAMA国际数据管理协会定义了数据质量维度,包括准确性、完整性、一致性、合理性、参照完整性、及时性、唯一性、有效性、精确度、隐私、时效性。而对于不同的业务和行业,对于质量的需求有所不同。数据质量中心为质量监控提供了表级、字段级的规则模板,并支持通过SQL进行自定义的规则及规则模板的创建。
如下图所示,在为选定的监控对象配置规则时,可以选择模板规则或自定义规则。若选择了模板规则,针对需要监控的字段,选择已经配置好的规则模板并填写期望范围,设置期望规则命中行数或者规则命中行数比率。针对需要监控的表,也可以选择表级的规则。若现有的规则模板不满足需求,可以进入"自定义规则"的功能界面,针对字段级书写SQL语句。
在配置规则时,选择当前监控规则为强规则还是弱规则,若为强规则,当规则不通过时,任务会置为失败状态,停止运行;若为弱规则,当规则不通过时,任务会继续运行。
数据质量中心还在进行更丰富灵活的规则模板的设计,实现固定值、波动值、波动率的监控,让用户灵活配置比较周期、计算方式、符号、阈值等。并对规则和模板进行围绕着准确性、完整性、一致性等维度的分类,便于用户进行配置和管理。
同时,数据质量中心也在不断提高质量监控的基础能力,除目前已经支持配置质量监控任务的hive类型外,还在陆续支持MYSQL、MPP等多种数据源类型的质量监控,并配备相应规则模板。
3持续测量和监控数据质量
目前,在数据质量中心配置好的质量监控任务在离线开发任务的节点上被引用,能够实现自动执行。
对于质量监控任务,质量异常和质量检测失败能够灵活的配置告警,支持邮件、短信等多种接收方式。质量问题一旦发生就是木已成舟,通过任务中规则的强弱设置,实现对下游任务的及时阻断,能够达到亡羊补牢的效果。
数据质量中心也在不断探索新的质量监控任务在离线开发任务中的挂载和线上调度逻辑,如同一质量监控任务挂载多个数据任务、核心通用规则自动挂载。支持质量监控任务定时及智能调度,优先部署到核心业务,必要时停止非核心任务,以减少高峰期集群资源的拥挤现象。
4数据质量管理和评估
事实上,再严格的预防措施和监控都无法完全避免数据质量问题的发生,事后的管理和评估就尤为重要了。数据质量中心针对每个监控任务,查看执行趋势,支持快速定位异常/失败的执行实例。
此外,还提供质量大屏和质量评估,从表负责人角度和表的角度评估项目质量情况。分别展示当前项目下表质量平均分、线上调度和配置的规则总量、表覆盖量和任务调度的监控量等内容。
下一阶段将在质量责任制方面发力,一是数据质量要支持事故闭环回溯,从发现到上报到定位分析处理到跟踪到反馈。二是数据质量的责任落实人,没有绩效就没有动力,能够加强工作人员对质量问题的重视。
打造更加详细丰富的质量报告,实现事前质量监控覆盖率;事中任务阻塞数、报警数等统计呈现;事后问题原因、责任人、解决情况等全方位的统计管理。
5拓宽数据质量相关能力边界
数据治理的常态化是数据质量问题的最好解决方式,搭建数据质量中心能够极大程度的解决技术原因导致数据质量问题。而对于业务端和管理端原因造成的质量问题,则需要我们在产品层面不断拓宽数据质量相关能力边界。
如进行数据认责,明确数据的主人,使用人,管理人员,结合质量监控结果进行绩效推荐与打分。采用量化管理机制,分等级和优先级进行管理,将严重的数据质量问题或事件可以升级为故障,并对故障进行定义、等级划分、预置处理方案和复盘。
数据质量中心将不断拓宽数据质量相关能力边界,以支持更丰富的监控对象为基础。在规则、监控模板、监控任务等几个模块不断优化产品,并在协助用户搭建标准的质量管理体系方向不断探索。
6总结
网易有数大数据平台还聚焦数据标准的规划设计,从数据的源头控制好数据质量,实现对海量数据的标准化管理,为解决质量问题提供基础。
数据质量中心也将继续在事前预防、事中预警、事后补救的三个方面不断进行产品改进采取有效措施,形成完整的数据治理体系。如果大家对数据治理及数据质量有些兴趣,或者有相关建议,欢迎在留言区评论探讨。
作者简介:楚乔,网易有数产品经理,负责大数据平台数据质量工作,前路漫漫,道阻且长,和产品一起成长。