【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

DataMan- 美团旅行数据质量监管平台实践

  • 2020-02-27
  • 本文字数:6546 字

    阅读完需:约 21 分钟

DataMan-美团旅行数据质量监管平台实践

背景

数据,已经成为互联网企业非常依赖的新型重要资产。数据质量的好坏直接关系到信息的精准度,也影响到企业的生存和竞争力。Michael Hammer(《Reengineering the Corporation》一书的作者)曾说过,看起来不起眼的数据质量问题,实际上是拆散业务流程的重要标志。 数据质量管理是测度、提高和验证质量,以及整合组织数据的方法等一套处理准则,而体量大、速度快和多样性的特点,决定了大数据质量所需的处理,有别于传统信息治理计划的质量管理方式。


本文将基于美团点评大数据平台,通过对数据流转过程中各阶段数据质量检测结果的采集分析、规则引擎、评估反馈和再监测的闭环管理过程出发,从面临挑战、建设思路、技术方案、呈现效果及总结等方面,介绍美团平台酒旅事业群(以下简称美旅)数据质量监管平台 DataMan 的搭建思路和建设实践。

挑战

美旅数据中心日均处理的离线和实时作业高达数万量级, 如何更加合理、高效的监控每类作业的运行状态,并将原本分散、孤岛式的监控日志信息通过规则引擎集中共享、关联、处理;洞察关键信息,形成事前预判、事中监控、事后跟踪的质量管理闭环流程;沉淀故障问题,搭建解决方案的知识库体系。在数据质量监管平台的规划建设中,面临如下挑战:


  • 缺乏统一监控视图,离线和实时作业监控分散,影响性、关联性不足。

  • 数据质量的衡量标准缺失,数据校验滞后,数据口径不统一。

  • 问题故障处理流程未闭环,“点”式解决现象常在;缺乏统一归档,没有形成体系的知识库。

  • 数据模型质量监控缺失,模型重复,基础模型与应用模型的关联度不足,形成信息孤岛。

  • 数据存储资源增长过快,不能监控细粒度资源内容。


DataMan 质量监管平台研发正基于此,以下为具体建设方案。

解决思路

整体框架

构建美旅大数据质量监控平台,从可实践运用的视角出发,整合平台资源、技术流程核心要点,重点着力平台支持、技术控制、流程制度、知识体系形成等方向建设,确保质量监控平台敏捷推进落地的可行性。数据质量监控平台整体框架如图 1 所示:



图 1 质量监控平台整体框架图

建设方法

以数据质量检核管理 PDCA 方法论,基于美团大数据平台,对数据质量需求和问题进行全质量生命周期的管理,包括质量问题的定义、检核监控、发现分析、跟踪反馈及知识库沉淀。数据质量 PDCA 流程图如图 2 所示:



图 2 数据质量 PDCA 流程图


关键流程


质量监管平台建设实践应用及价值体现,离不开管理流程、技术实现和组织人员的紧密结合,主要包含如下 8 大流程步骤:


  1. 质量需求:发现数据问题;信息提报、收集需求;检核规则的需求等。

  2. 提炼规则:梳理规则指标、确定有效指标、检核指标准确度和衡量标准。

  3. 规则库构建:检核对象配置、调度配置、规则配置、检核范围确认、检核标准确定等。

  4. 执行检核:调度配置、调度执行、检核代码。

  5. 问题检核:检核问题展示、分类、质量分析、质量严重等级分类等。

  6. 分析报告:数据质量报告、质量问题趋势分析,影响度分析,解决方案达成共识。

  7. 落实处理:方案落实执行、跟踪管理、解决方案 Review 及标准化提炼。

  8. 知识库体系形成:知识经验总结、标准方案沉淀、知识库体系建设。

质量检核标准

  • 完整性:主要包括实体缺失、属性缺失、记录缺失和字段值缺失四个方面;

  • 准确性:一个数据值与设定为准确的值之间的一致程度,或与可接受程度之间的差异;

  • 合理性:主要包括格式、类型、值域和业务规则的合理有效;

  • 一致性:系统之间的数据差异和相互矛盾的一致性,业务指标统一定义,数据逻辑加工结果一致性;

  • 及时性:数据仓库 ETL、应用展现的及时和快速性,Jobs 运行耗时、运行质量、依赖运行及时性。


大数据平台下的质量检核标准更需考虑到大数据的快变化、多维度、定制化及资源量大等特性,如数仓及应用 BI 系统的质量故障等级分类、数据模型热度标准定义、作业运行耗时标准分类等和数仓模型逻辑分层及主题划分组合如下图 3 所示。



图 3 质量检核标准图


美旅数仓划分为客服、流量、运营、订单、门店、产品、参与人、风控、结算和公用等十大主题,按 Base、Fact、Topic、App 逻辑分层,形成体系化的物理模型。从数据价值量化、存储资源优化等指标评估,划分物理模型为热、温、冷、冰等四类标准,结合应用自定义其具体标准范围,实现其灵活性配置;作业运行耗时分为:优、良、一般、关注、耗时等,每类耗时定义的标准范围既符合大数据的特性又可满足具体分析需要,且作业耗时与数仓主题和逻辑分层深度整合,实现多角度质量洞察评估;针对数万的作业信息从数据时效性、作业运行等级、服务对象范围等视角,将其故障等级分为:


  • S1:严重度极高;

  • S2:严重度高;

  • S3:严重度中;

  • S4:严重度低等四项标准。


各项均对应具体的实施策略。整体数据质量的检核对象包括离线数仓和实时数据。

监管核心点


图 4 数据质量监管功能图


数据质量功能模块设计的主要功能如上图 4 所示,包括:监控对象管理、检核指标管理、数据质量过程监控、问题跟踪管理、推荐优化管理、知识库管理及系统管理等。其中过程监控包括离线数据监控、实时数据监控;问题跟踪处理由问题发现(支持自动检核、人工录入)、问题提报、任务推送、故障定级、故障处理、知识库沉淀等形成闭环流程。

管理流程

流程化管理是推进数据问题从发现、跟踪、解决到总结提炼的合理有效工具。质量管理流程包括:数据质量问题提报、数据质量问题分析、故障跟踪、解决验证、数据质量评估分析等主要环节步骤;从干系人员的角度分析包括数据质量管理人员、数据质量检查人员、数据平台开发人员、业务及 BI 商分人员等,从流程步骤到管理人员形成职责和角色的矩阵图。如图 5 所示:



图 5 数据质量流程图


  • 问题汇总:数据质量提报、ETL 处理及监控过程上报、数据质量检查点等多方来源,其中 ETL 处理部分为程序自动化上报,减少人为干预。

  • 问题分析:通过规定的角色和岗位的人员对汇总问题分析和评估,由统一公共账号自动推送提醒消息至责任人。

  • 问题工单:对采集的问题经过分析归类,主要划为信息提示和故障问题两大类,信息提示无需工单生成,故障问题将产生对应的工单,后推送至工单处理人。

  • 故障定级: 针对生成的问题工单判断其故障级别,其级别分为:S1、S2、S3、S4 等四类(如图 3 所述),针对尤为严重的故障问题需 Review 机制并持续跟踪 CaseStudy 总结。

  • 知识库体系:从由数据问题、解决方案、典型案例等内容中,提炼总结形成标准化、完备知识库体系,以质量问题中提炼价值,形成标准,更加有效的指导业务、规范业务,提高源头数据质量,提升业务服务水平。


质量流程管理


  • 流程原则:统一流程、步骤稳定。

  • 权限控制:流程节点与人员账户号绑定,若节点未设置人员账户即面向所有人员,否则为规定范围的人员。

  • 权限管理:可结合美团平台的 UPM 系统权限管理机制。

技术方案

总体架构

DataMan 系统建设总体方案基于美团的大数据技术平台。自底向上包括:检测数据采集、质量集市处理层;质量规则引擎模型存储层;系统功能层及系统应用展示层等。整个数据质量检核点基于技术性、业务性检测,形成完整的数据质量报告与问题跟踪机制,创建质量知识库,确保数据质量的完整性(Completeness)、正确性(Correctness)、当前性(Currency)、一致性(Consistency)。


总体架构图如图 6 所示



图 6 质量监管 DataMan 总体架构图


  • 数据源及集市层:首先采集数据平台质量相关的元数据信息、监控日志信息、实时日志、检测配置中心日志、作业日志及调度平台日志等关键的质量元数据;经数据质量集市的模型设计、监控对象的分类,加工形成完整、紧关联、多维度、易分析的数据质量基础数据模型,为上层质量应用分析奠定数据基础。数据来源自大数据平台、实时数仓、调度平台等,涉及到 Hive、 Spark、Storm、 Kafka、MySQL 及 BI 应用等相关平台数据源;

  • 存储模型层:主要功能包括规则引擎数据配置、质量模型结果存储;以数据质量监控、影响关联、全方位监控等目标规则引擎的推动方式,将加工结果数据存储至关系型数据库中,构成精简高质数据层;

  • 系统功能层:包括配置管理、过程监控、问题跟踪、故障流程管理、实时数据监控、知识库体系的创建等;处理的对象包括日志运行作业、物理监控模型、业务监控模型等主要实体;

  • 系统展示层:通过界面化方式管理、展示数据质量状态,包括质量监控界面、推荐优化模块、质量分析、信息展示、问题提报、故障跟踪及测量定级、系统权限管理等功能。

技术框架

前后端技术


图 7 技术架构图


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 所示:



图 8 Zebra 架构图


Zebra 客户端会据路由配置直连到 MySQL 数据库进行读写分离和负载均衡。RDS 是一站式的数据库管理平台,提供 Zebra 的路由配置信息的维护;MHA 组件和从库监控服务分别负责主库和从库的高可用。Zebra 支持丰富的底层连接池;统一源数据配置管理;读写分离和分库分表;数据库的高可用。

数据模型

整个质量监管平台数据流向为数据质量元数据信息采集于美团平台,包括数据仓库元数据信息、质量检测元数据、调度平台日志信息、监控日志及实时元数据信息等,加工形成独立数据质量的集市模型,以此支撑应用层系统的数据需求。应用层系统数据库采用关系型数据库存储的方式,主要包含了规则配置管理信息、数据质量结果库等信息内容。数据流向层级关系图如下:



图 9 数据流向层级图


数据平台层:基于美团大数据平台的数据质量元数据是质量分析和监管的来源,是整个系统最基础重要资源信息,此数据主要包括:数仓元数据信息,如数仓模型表基本信息、表存储空间资源信息、表分区信息、节点信息、数据库 meta 信息、数据库资源信息等;运行作业调度日志信息,如作业基本信息、作业运行资源信息、作业调度状态信息、作业依赖关系信息及作业调度日志监控信息等;质量检测元数据信息主要来源于 SLA、DQC(美团内部系统)检测结果的信息。实时元数据采集于调度平台实时作业运行的 API 接口调用分析。


质量集市层:DM 数据质量集市的独立创建是依托基础元数据信息,根据质量监管平台配置的引擎规则 ETL 加工形成。规则库引擎如数仓应用主题的划分规则、数仓逻辑分层约束、数据库引擎分类、模型使用热度等级、模型存储空间分类、资源增长等级、历史周期分类、作业重要级别、作业运行耗时等级、作业故障分类、及数据质量标准化定义等;在管理方向上,如模型或作业所属的业务条线、组织架构、开发人员等;在时效上分为离线监控数据、实时数据集市等。从多个维度交叉组合分析形成模型类、作业类、监控日志类、实时类等主题的等易理解、简单、快捷的数据质量集市层,强有力的支撑上层应用层功能的数据需求。数据质量集市 DM 主要模型如图 10 所示:



图 10 数据质量集市模型图


  • 模型设计:“统一规范、简单快捷、快速迭代、保障质量”,基于美团平台元数据、平台日志、实时数据接口等来源,通过制定的规则、标准,形成可衡量、可评估的数据质量集市层,主要包含公共维度类、模型分析类、作业监控类、平台监控类等主要内容;

  • 实时数据:针对实时作业的监控通过 API 接口调用,后落地数据,实时监控作业运行日志状态;

  • 数据加工:基于美团平台离线 Hive、Spark 引擎执行调度,以数仓模型分层、数仓十大主题规则和数据质量规则库等为约束条件,加工形成独立的数据集市层。


应用分析层:应用层系统数据采用关系型数据库(MySQL)存储的方式,主要包含了规则配置管理信息、数据质量分析结果、实时 API 落地数据、故障问题数据、知识库信息、流程管理及系统管理类等信息内容,直接面对前端界面的展示和管理。

系统展示

数据质量 DataMan 监控系统一期建设主要实现的功能包括:个人工作台、信息监控、推荐信息、信息提报、故障管理、配置管理及权限系统管理等。系统效果如图 11 所示:



图 11 系统效果图

个人工作台

在系统中将个人待关注、待处理、待优化、待总结等与个人相关的问题和任务形成统一的工作平台入口,通过公共账号推送的方式,第一时间提醒个人,通知反馈问题的提出者,保障问题可跟踪,进度可查询,责任到人的工作流程机制。

离线监控

系统可定时执行模型监控、作业监控、平台日志监控等元数据质量规则引擎,开展数据仓库主题模型、逻辑层级作业、存储资源空间、作业耗时、CPU 及内存资源等细化深度分析和洞察;按照质量分析模型,以时间、增长趋势、同环比、历史基线点等多维度、全面整合打造统一监控平台。

实时监控

从应用角度将作业按照业务条线、数仓分层、数仓主题、组织结构和人员等维度划分,结合作业基线信息,实时监控正在运行的作业质量,并与作业基线形成对比参照,预警不符合标准的指标信息,第一时间通知责任人。实时作业运行与基线对比监控效果如图 12 所示:



图 12 实时作业运行监控图

推荐信息

系统通过规则引擎的设置和自动调度的执行,从存储资源配置、数据模型优化、作业优化、日志错误超时、预警通知等方面考虑,以制定的质量标准为评估依据,自动检测评估,汇总问题,形成可靠的推荐优化内容,并在达到阈值条件后主动推送消息,触发后续任务开展。

公共账号

通过“数据治理公共账号”机器人发送消息模式,将预判触发的预警通知、任务分配、任务提醒和风险评估等信息第一时间通知相应的负责人员,开启工作流程。

故障处理

支持自动提报和人工填报两种模式,以闭环工作流方式开展工作,确保问题故障可跟踪、可查询、可定级、可考核、可量化,以责任到人、落地可行的处理模式,严控数据质量,从根本上提高数据质量,提升业务服务水平。


DataMan 质量监管系统的投入运营,优化数据存储资源、提高作业性能、降低任务耗时、推进了管理工作的规范化和精细化。信息推荐功能以推送通知的形式将待优化、存风险和超时故障信息第一时间发送个人工作台,以工作流机制推动开展;模型监控、作业监控功能在数据存储、模型建设、作业耗时等场景合理的控制资源,节省了投资成本。 问题提报和故障管理功能的有效结合,将问题发现、提报、任务分配、处理完成及 Review 总结沉淀等形成了责任到人、问题可询的闭环流程。随着系统的深入运行,将在实时数据监控、质量故障统计管理、数据质量考核机制、数据资产质量权威报告、知识库体系标准化及流程深化管理等功能方面持续推进和发挥价值。

总结

数据质量是数据治理建设的重要一环,与元数据管理、数据标准化及数据服务管理等共同构建了数据治理的体系框架。建设一个完整 DataMan 质量监管平台,将从监控、标准、流程制度等方面提升信息管理能力,优先解决所面临的数据质量和数据服务问题,其效果体现以下几个方面:


  • 监控数据资产质量状态,为优化数据平台和数据仓库性能、合理配置数据存储资源提供决策支持;

  • 持续推动数据质量监控优化预警、实时监控的机制;

  • 重点优先监控关键核心数据资产,管控优化 20%核心资源,可提升 80%需求应用性能;

  • 规范了问题故障的跟踪、Review、优化方案。从数据中提炼价值,从方案中形成标准化的知识体系;

  • 由技术检测到业务监督,形成闭环工作流机制,提高整体数据质量,全面提升服务业务水平。


数据质量是数据仓库建设、数据应用建设和决策支持的关键因素,可通过完善组织架构和管理流程,加强部门间衔接和协调,严格按照标准或考核指标执行落地,确保数据质量方能将数据的商业价值最大化,进而提升企业的核心竞争力和保持企业的可持续发展。

招聘

最后插播一个招聘广告,我们是一群擅长大数据领域数据建设、数仓建设、数据治理及数据 BI 应用建设的工程师,期待更多能手加入,有兴趣的同学可以发邮件给 yangguang09#meituan.com,zhangdexiao#meituan.com。

作者简介

  • 德晓,美团点评数仓专家、大数据高级工程师,长期从事数据仓库、数据建模、数据治理、大数据方向系统实践建设等,现为美团点评大交通数据仓库建设负责人。


2020-02-27 10:491552

评论

发布
暂无评论
发现更多内容

央视新闻联合百度智能云打造首个AI手语主播

百度大脑

人工智能

搞定大厂算法面试之leetcode精讲6.深度优先&广度优先

全栈潇晨

算法面试 Leet Code

Flutter:如何在没有插件的情况下制作旋转动画

坚果

flutter 11月日更

vue3 学习笔记 (三)——vue3 自定义指令

码仔

Vue3 自定义指令

Java开发基础之开发环境搭建

@零度

JAVA开发

Android C++系列:Linux进程间通信(二)

轻口味

c++ android jni 11月日更

没有人比我更会使用集合!对,是dart中的集合

程序那些事

Java flutter dart 程序那些事 11月日更

详解阿里开源分布式事务框架Seata

博文视点Broadview

加速云原生应用落地,焱融 YRCloudFile 与天翼云完成兼容性认证

焱融科技

云计算 分布式 云原生 高性能 文件存储

Hadoop 入门笔记—核心组件 YARN

编程江湖

大数据 hadoop

深入理解 volatile 关键字

编程江湖

volatile JAVA开发

基于内存通信的gRPC调用

Robert Lu

gRPC Go 语言

在线文本按列截取工具

入门小站

工具

复杂业务系统高扩展架构设计与实践

鲸品堂

构架

模块四 千万级学生管理系统的考试试卷存储方案

架构实战营-模块六

瓜子葫芦侠

「架构实战营」

[Pulsar] 消息生命历程(四)——Broker的消息处理

Zike Yang

Apache Pulsar 11月日更

《深入理解JVM虚拟机》读书笔记:第二章 Java内存区域与内存溢出异常

Joseph295

基于CarbonData的电信时空大数据探索

华为云开发者联盟

大数据 网络 电信 CarbonData 无线通信网络

架构实战营模块 9 作业指导

华仔

架构实战营

【高并发】浅谈AQS中的CountDownLatch、Semaphore与CyclicBarrier

冰河

Java 并发编程 多线程 高并发 异步编程

JSRE中的多任务与多线程

编程江湖

html5 大前端

云小课|打造企业数据“高内聚,低耦合”--试试GaussDB(DWS)逻辑集群,实现数据物理隔离

华为云开发者联盟

EI企业智能 数据仓库服务GaussDB(DWS) 逻辑集群

CWE4.6标准中加入 OWASP 2021 TOP10

华为云开发者联盟

漏洞 cwe 软件安全 CWE4.6 OWASP

docker vs docker-compose 解密

liuzhen007

11月日更

贪心算法:加油站 ⛽

空城机

算法 大前端 11月日更

Prometheus Exporter (十)Ping Exporter

耳东@Erdong

Prometheus ping exporter 11月日更

Apache APISIX request_uri 变量控制不当,存在路径穿透风险公告(CVE-2021-43557)

API7.ai 技术团队

Apache 云原生 漏洞修复 Apache APISIX ingress-controller

如何与 Dapr 集成打造 Apache APISIX 网关控制器

API7.ai 技术团队

云原生 网关 dapr Apache APISIX ingress-controller

前端开发规范之代码规范

@零度

大前端

「Oracle」Oracle 数据库基本概念

恒生LIGHT云社区

数据库 oracle

DataMan-美团旅行数据质量监管平台实践_文化 & 方法_美团技术团队_InfoQ精选文章