数据质量干货中的干货
背景
数据,已经成为互联网企业非常依赖的新型重要资产。数据质量的好坏直接关系到信息的精准度,也影响到企业的生存和竞争力。Michael Hammer(《Reengineering the Corporation》一书的作者)曾说过,看起来不起眼的数据质量问题,实际上是拆散业务流程的重要标志。 数据质量管理是测度、提高和验证质量,以及整合组织数据的方法等一套处理准则,而体量大、速度快和多样性的特点,决定了大数据质量所需的处理,有别于传统信息治理计划的质量管理方式。
本文将基于美团点评大数据平台,通过对数据流转过程中各阶段数据质量检测结果的采集分析、规则引擎、评估反馈和再监测的闭环管理过程出发,从面临挑战、建设思路、技术方案、呈现效果及总结等方面,介绍美团平台酒旅事业群(以下简称美旅)数据质量监管平台DataMan的搭建思路和建设实践。
挑战
美旅数据中心日均处理的离线和实时作业高达数万量级, 如何更加合理、高效的监控每类作业的运行状态,并将原本分散、孤岛式的监控日志信息通过规则引擎集中共享、关联、处理;洞察关键信息,形成事前预判、事中监控、事后跟踪的质量管理闭环流程;沉淀故障问题,搭建解决方案的知识库体系。在数据质量监管平台的规划建设中,面临如下挑战:
- 缺乏统一监控视图,离线和实时作业监控分散,影响性、关联性不足。
- 数据质量的衡量标准缺失,数据校验滞后,数据口径不统一。
- 问题故障处理流程未闭环,“点”式解决现象常在;缺乏统一归档,没有形成体系的知识库。
- 数据模型质量监控缺失,模型重复,基础模型与应用模型的关联度不足,形成信息孤岛。
- 数据存储资源增长过快,不能监控细粒度资源内容。
DataMan质量监管平台研发正基于此,以下为具体建设方案。
解决思路
整体框架
构建美旅大数据质量监控平台,从可实践运用的视角出发,整合平台资源、技术流程核心要点,重点着力平台支持、技术控制、流程制度、知识体系形成等方向建设,确保质量监控平台敏捷推进落地的可行性。数据质量监控平台整体框架如图1所示:
建设方法
以数据质量检核管理PDCA方法论,基于美团大数据平台,对数据质量需求和问题进行全质量生命周期的管理,包括质量问题的定义、检核监控、发现分析、跟踪反馈及知识库沉淀。数据质量PDCA流程图如图2所示:
关键流程:
质量监管平台建设实践应用及价值体现,离不开管理流程、技术实现和组织人员的紧密结合,主要包含如下8大流程步骤:
- 质量需求:发现数据问题;信息提报、收集需求;检核规则的需求等。
- 提炼规则:梳理规则指标、确定有效指标、检核指标准确度和衡量标准。
- 规则库构建:检核对象配置、调度配置、规则配置、检核范围确认、检核标准确定等。
- 执行检核:调度配置、调度执行、检核代码。
- 问题检核:检核问题展示、分类、质量分析、质量严重等级分类等。
- 分析报告:数据质量报告、质量问题趋势分析,影响度分析,解决方案达成共识。
- 落实处理:方案落实执行、跟踪管理、解决方案Review及标准化提炼。
- 知识库体系形成:知识经验总结、标准方案沉淀、知识库体系建设。
质量检核标准
- 完整性:主要包括实体缺失、属性缺失、记录缺失和字段值缺失四个方面;
- 准确性:一个数据值与设定为准确的值之间的一致程度,或与可接受程度之间的差异;
- 合理性:主要包括格式、类型、值域和业务规则的合理有效;
- 一致性:系统之间的数据差异和相互矛盾的一致性,业务指标统一定义,数据逻辑加工结果一致性;
- 及时性:数据仓库ETL、应用展现的及时和快速性,Jobs运行耗时、运行质量、依赖运行及时性。
大数据平台下的质量检核标准更需考虑到大数据的快变化、多维度、定制化及资源量大等特性,如数仓及应用BI系统的质量故障等级分类、数据模型热度标准定义、作业运行耗时标准分类等和数仓模型逻辑分层及主题划分组合如下图3所示。
美旅数仓划分为客服、流量、运营、订单、门店、产品、参与人、风控、结算和公用等十大主题,按Base、Fact、Topic、App逻辑分层,形成体系化的物理模型。从数据价值量化、存储资源优化等指标评估,划分物理模型为热、温、冷、冰等四类标准,结合应用自定义其具体标准范围,实现其灵活性配置;作业运行耗时分为:优、良、一般、关注、耗时等,每类耗时定义的标准范围既符合大数据的特性又可满足具体分析需要,且作业耗时与数仓主题和逻辑分层深度整合,实现多角度质量洞察评估;针对数万的作业信息从数据时效性、作业运行等级、服务对象范围等视角,将其故障等级分为:
- S1:严重度极高;
- S2:严重度高;
- S3:严重度中;
- S4:严重度低等四项标准。
各项均对应具体的实施策略。整体数据质量的检核对象包括离线数仓和实时数据。
监管核心点
数据质量功能模块设计的主要功能如上图4所示,包括:监控对象管理、检核指标管理、数据质量过程监控、问题跟踪管理、推荐优化管理、知识库管理及系统管理等。其中过程监控包括离线数据监控、实时数据监控;问题跟踪处理由问题发现(支持自动检核、人工录入)、问题提报、任务推送、故障定级、故障处理、知识库沉淀等形成闭环流程。
管理流程
流程化管理是推进数据问题从发现、跟踪、解决到总结提炼的合理有效工具。质量管理流程包括:数据质量问题提报、数据质量问题分析、故障跟踪、解决验证、数据质量评估分析等主要环节步骤;从干系人员的角度分析包括数据质量管理人员、数据质量检查人员、数据平台开发人员、业务及BI商分人员等,从流程步骤到管理人员形成职责和角色的矩阵图。如图5所示:
问题汇总:数据质量提报、ETL处理及监控过程上报、数据质量检查点等多方来源,其中ETL处理部分为程序自动化上报,减少人为干预。 问题分析:通过规定的角色和岗位的人员对汇总问题分析和评估,由统一公共账号自动推送提醒消息至责任人。 问题工单:对采集的问题经过分析归类,主要划为信息提示和故障问题两大类,信息提示无需工单生成,故障问题将产生对应的工单,后推送至工单处理人。 故障定级: 针对生成的问题工单判断其故障级别,其级别分为:S1、S2、S3、S4等四类(如图3所述),针对尤为严重的故障问题需Review机制并持续跟踪CaseStudy总结。 知识库体系:从由数据问题、解决方案、典型案例等内容中,提炼总结形成标准化、完备知识库体系,以质量问题中提炼价值,形成标准,更加有效的指导业务、规范业务,提高源头数据质量,提升业务服务水平。
质量流程管理:
- 流程原则:统一流程、步骤稳定。
- 权限控制:流程节点与人员账户号绑定,若节点未设置人员账户即面向所有人员,否则为规定范围的人员。
- 权限管理:可结合美团平台的UPM系统权限管理机制。
技术方案
总体架构
DataMan系统建设总体方案基于美团的大数据技术平台。自底向上包括:检测数据采集、质量集市处理层;质量规则引擎模型存储层;系统功能层及系统应用展示层等。整个数据质量检核点基于技术性、业务性检测,形成完整的数据质量报告与问题跟踪机制,创建质量知识库,确保数据质量的完整性(Completeness)、正确性(Correctness)、当前性(Currency)、一致性(Consistency)。
总体架构图如图6所示:
- 数据源及集市层:首先采集数据平台质量相关的元数据信息、监控日志信息、实时日志、检测配置中心日志、作业日志及调度平台日志等关键的质量元数据;经数据质量集市的模型设计、监控对象的分类,加工形成完整、紧关联、多维度、易分析的数据质量基础数据模型,为上层质量应用分析奠定数据基础。数据来源自大数据平台、实时数仓、调度平台等,涉及到Hive、 Spark、Storm、 Kafka、MySQL及BI应用等相关平台数据源;
- 存储模型层:主要功能包括规则引擎数据配置、质量模型结果存储;以数据质量监控、影响关联、全方位监控等目标规则引擎的推动方式,将加工结果数据存储至关系型数据库中,构成精简高质数据层;
- 系统功能层:包括配置管理、过程监控、问题跟踪、故障流程管理、实时数据监控、知识库体系的创建等;处理的对象包括日志运行作业、物理监控模型、业务监控模型等主要实体;
- 系统展示层:通过界面化方式管理、展示数据质量状态,包括质量监控界面、推荐优化模块、质量分析、信息展示、问题提报、故障跟踪及测量定级、系统权限管理等功能。
技术框架
前后端技术
DataMan应用系统其前端框架(如上图7)基于Bootstrap开发,模板引擎为FreeMarker,Tomcat(开发环境)作为默认Web容器,通过MVC的方式实现与应用服务层对接。Bootstrap的优势基于jQuery,丰富的CSS、JS组件,兼容多种浏览器,界面风格统一等;FreeMarker为基于模板用来生成输出文本的引擎。后台基于开源框架Spring4,Spring Boot,Hibernate搭建,其集成了Druid,Apache系列和Zebra等数据库访问中间件等,为系统的功能开发带来更多选择和便利。
Zebra中间件
系统数据库连接采用中间件Zebra,这是美团点评DBA团队推荐的官方数据源组件,基于JDBC、API协议上开发出的高可用、高性能的数据库访问层解决方案;提供如动态配置、监控、读写分离、分库分表等功能。Zebra整体架构如图8所示:
Zebra客户端会据路由配置直连到MySQL数据库进行读写分离和负载均衡。RDS是一站式的数据库管理平台,提供Zebra的路由配置信息的维护;MHA组件和从库监控服务分别负责主库和从库的高可用。Zebra支持丰富的底层连接池;统一源数据配置管理;读写分离和分库分表;数据库的高可用。
数据模型
整个质量监管平台数据流向为数据质量元数据信息采集于美团平台,包括数据仓库元数据信息、质量检测元数据、调度平台日志信息、监控日志及实时元数据信息等,加工形成独立数据质量的集市模型,以此支撑应用层系统的数据需求。应用层系统数据库采用关系型数据库存储的方式,主要包含了规则配置管理信息、数据质量结果库等信息内容。数据流向层级关系图如下:
数据平台层:基于美团大数据平台的数据质量元数据是质量分析和监管的来源,是整个系统最基础重要资源信息,此数据主要包括:数仓元数据信息,如数仓模型表基本信息、表存储空间资源信息、表分区信息、节点信息、数据库meta信息、数据库资源信息等;运行作业调度日志信息,如作业基本信息、作业运行资源信息、作业调度状态信息、作业依赖关系信息及作业调度日志监控信息等;质量检测元数据信息主要来源于SLA、DQC(美团内部系统)检测结果的信息。实时元数据采集于调度平台实时作业运行的API接口调用分析。
质量集市层:DM数据质量集市的独立创建是依托基础元数据信息,根据质量监管平台配置的引擎规则ETL加工形成。规则库引擎如数仓应用主题的划分规则、数仓逻辑分层约束、数据库引擎分类、模型使用热度等级、模型存储空间分类、资源增长等级、历史周期分类、作业重要级别、作业运行耗时等级、作业故障分类、及数据质量标准化定义等;在管理方向上,如模型或作业所属的业务条线、组织架构、开发人员等;在时效上分为离线监控数据、实时数据集市等。从多个维度交叉组合分析形成模型类、作业类、监控日志类、实时类等主题的等易理解、简单、快捷的数据质量集市层,强有力的支撑上层应用层功能的数据需求。数据质量集市DM主要模型如图10所示:
- 模型设计:“统一规范、简单快捷、快速迭代、保障质量”,基于美团平台元数据、平台日志、实时数据接口等来源,通过制定的规则、标准,形成可衡量、可评估的数据质量集市层,主要包含公共维度类、模型分析类、作业监控类、平台监控类等主要内容;
- 实时数据:针对实时作业的监控通过API接口调用,后落地数据,实时监控作业运行日志状态;
- 数据加工:基于美团平台离线Hive、Spark引擎执行调度,以数仓模型分层、数仓十大主题规则和数据质量规则库等为约束条件,加工形成独立的数据集市层。
应用分析层:应用层系统数据采用关系型数据库(MySQL)存储的方式,主要包含了规则配置管理信息、数据质量分析结果、实时API落地数据、故障问题数据、知识库信息、流程管理及系统管理类等信息内容,直接面对前端界面的展示和管理。
系统展示
数据质量DataMan监控系统一期建设主要实现的功能包括:个人工作台、信息监控、推荐信息、信息提报、故障管理、配置管理及权限系统管理等。系统效果如图11所示:
个人工作台
在系统中将个人待关注、待处理、待优化、待总结等与个人相关的问题和任务形成统一的工作平台入口,通过公共账号推送的方式,第一时间提醒个人,通知反馈问题的提出者,保障问题可跟踪,进度可查询,责任到人的工作流程机制。
离线监控
系统可定时执行模型监控、作业监控、平台日志监控等元数据质量规则引擎,开展数据仓库主题模型、逻辑层级作业、存储资源空间、作业耗时、CPU及内存资源等细化深度分析和洞察;按照质量分析模型,以时间、增长趋势、同环比、历史基线点等多维度、全面整合打造统一监控平台。
实时监控
从应用角度将作业按照业务条线、数仓分层、数仓主题、组织结构和人员等维度划分,结合作业基线信息,实时监控正在运行的作业质量,并与作业基线形成对比参照,预警不符合标准的指标信息,第一时间通知责任人。实时作业运行与基线对比监控效果如图12所示:
推荐信息
系统通过规则引擎的设置和自动调度的执行,从存储资源配置、数据模型优化、作业优化、日志错误超时、预警通知等方面考虑,以制定的质量标准为评估依据,自动检测评估,汇总问题,形成可靠的推荐优化内容,并在达到阈值条件后主动推送消息,触发后续任务开展。
公共账号
通过“数据治理公共账号”机器人发送消息模式,将预判触发的预警通知、任务分配、任务提醒和风险评估等信息第一时间通知相应的负责人员,开启工作流程。
故障处理
支持自动提报和人工填报两种模式,以闭环工作流方式开展工作,确保问题故障可跟踪、可查询、可定级、可考核、可量化,以责任到人、落地可行的处理模式,严控数据质量,从根本上提高数据质量,提升业务服务水平。
DataMan质量监管系统的投入运营,优化数据存储资源、提高作业性能、降低任务耗时、推进了管理工作的规范化和精细化。信息推荐功能以推送通知的形式将待优化、存风险和超时故障信息第一时间发送个人工作台,以工作流机制推动开展;模型监控、作业监控功能在数据存储、模型建设、作业耗时等场景合理的控制资源,节省了投资成本。 问题提报和故障管理功能的有效结合,将问题发现、提报、任务分配、处理完成及Review总结沉淀等形成了责任到人、问题可询的闭环流程。随着系统的深入运行,将在实时数据监控、质量故障统计管理、数据质量考核机制、数据资产质量权威报告、知识库体系标准化及流程深化管理等功能方面持续推进和发挥价值。
总结
数据质量是数据治理建设的重要一环,与元数据管理、数据标准化及数据服务管理等共同构建了数据治理的体系框架。建设一个完整DataMan质量监管平台,将从监控、标准、流程制度等方面提升信息管理能力,优先解决所面临的数据质量和数据服务问题,其效果体现以下几个方面:
- 监控数据资产质量状态,为优化数据平台和数据仓库性能、合理配置数据存储资源提供决策支持;
- 持续推动数据质量监控优化预警、实时监控的机制;
- 重点优先监控关键核心数据资产,管控优化20%核心资源,可提升80%需求应用性能;
- 规范了问题故障的跟踪、Review、优化方案。从数据中提炼价值,从方案中形成标准化的知识体系;
- 由技术检测到业务监督,形成闭环工作流机制,提高整体数据质量,全面提升服务业务水平。
数据质量是数据仓库建设、数据应用建设和决策支持的关键因素,可通过完善组织架构和管理流程,加强部门间衔接和协调,严格按照标准或考核指标执行落地,确保数据质量方能将数据的商业价值最大化,进而提升企业的核心竞争力和保持企业的可持续发展。
招聘
最后插播一个招聘广告,我们是一群擅长大数据领域数据建设、数仓建设、数据治理及数据BI应用建设的工程师,期待更多能手加入,有兴趣的同学可以发邮件给yangguang09#meituan.com,zhangdexiao#meituan.com。
作者简介
- 德晓,美团点评数仓专家、大数据高级工程师,长期从事数据仓库、数据建模、数据治理、大数据方向系统实践建设等,现为美团点评大交通数据仓库建设负责人。