####[美团]大数据平台架构实践

美团的大数据平台架构实践 - 知乎专栏
https://zhuanlan.zhihu.com/p/26359613

image.png
image.png
image.png

本文将介绍美团大数据平台的架构实践,原文是美团大数据构建平台架构师谢语宸在一次大会上的分享。文章分享了构建大数据平台的方法,以及各种各样的技术应用,希望能给大家一些关于大数据方面的启迪。
1.****美团大数据平台的架构
1.1****总体架构

1.2****数据流架构
下面我以数据流的架构角度介绍一下整个美团数据平台的架构,最左边首先从业务流到平台,分别到实时计算,离线数据。
最下面支撑这一系列的有一个数据开发的平台,这张图比较细,这是详细的整体数据流架构图。包括最左边是数据接入,上面是流式计算,然后是Hadoop离线计算。
将上图左上角扩大来看,首先是数据接入与流式计算,电商系统产生数据分两个场景,一个是追加型的日志型数据,另外是关系型数据的维度数据。对于前一种是使用Flume比较标准化的大家都在用的日志收集系统,最近使用了阿里开源的Canal,之后有三个下游,所有的流式数据都是走Kafka这套流走的。
数据收集特性:
对于数据收集平台,日志数据是多接口的,可以打到文件里观察文件,也可以更新数据库表。关系型数据库是基于Binlog获取增量的,如果做数据仓库的话有大量的关系型数据库,有一些变更没法发现等情况,可以通过Binlog手段可以解决。通过一个Kafka消息队列集中化分发支持下游,目前支持了850以上的日志类型,峰值每秒有百万介入。
流式计算平台特性:
构建流式计算平台的时候充分考虑了开发的复杂度,基于Storm。有一个在线的开发平台,测试开发过程都在在线平台上做,提供一个相当于对Storm应用场景的封装,有一个拓扑开发框架,因为是流式计算,我们也做了延迟统计和报警,现在支持1100以上的实时拓扑,秒级实时数据流延迟。这上面可以配置公司内部定的某个参数,某个代码,可以在平台上编译有调试。
离线计算是基于Hadoop的数据仓库数据应用,主要是展示了对数据仓库分成的规划,包括原始数据接入,到核心数据仓库的基础层,包括事实和衍生事实,维度表横跨了聚合的结果,最右边提供了数据应用:一些挖掘和使用场景,上面是各个业务线自建的需求报表和分析库。
这幅图是离线数据平台的部署架构图,最下面是三个基础服务,包括Yarn、HDFS、HiveMeta。不同的计算场景提供不同的计算引擎支持。如果是新建的公司,其实这里是有一些架构选型的。Cloud Table是自己做的HBase分装封口。我们使用Hive构建数据仓库,用Spark在数据挖掘和机器学习,Presto支持Adhoc上查询,也可能写一些复杂的SQL。对应关系这里Presto没有部署到Yarn,跟Yarn是同步的,Spark是on Yarn跑。
离线计算平台特性:
目前42P+总存储量,每天有15万个Mapreduce和Spark任务,有2500+节点,支持3机房部署,数据库总共16K个数据表,复杂度还是比较高的。
1.3****数据管理体系
数据管理体系特性:
数据管理体系主要包括自研的调配系统,数据质量的监控,资源管理和任务审核以及开发配置中心等等,之后这些都会整合到整个的数据开放平台。
数据管理体系主要实现了这样几点功能,
第一点是基于SQL解析做了ETL任务之间的自动解析。
基于资源预留的模式做了各业务线成本的核算,整体的资源大体是跑到Yarn上的,每个业务线会有一些承诺资源、保证资源,还可以弹性伸缩,里面会有一些预算。
工作的重点,对于关键性任务会注册SLA保障,并且包括数据内容质量,数据时效性内容都有一定的监控。
这是解析出来的依赖关系,红色的是展示的一条任务,有一系列的上游。这是我们的资源管理系统,可以分析细到每个任务每时每刻的资源使用,可以聚合,给每个业务线做成本核算。
这是对于数据质量管理中心,上面可以写一些简单的SQL,监控某一个表的数据结果是否符合我们业务的预期。下面是数据管理,就是我们刚刚提到的,对每个关键的数据表都有一些SLA的跟踪保障,会定期发日报,观察他们完成时间的一些变动。
1.4****关于BI****产品
BI是基于数据应用平台化的场景。查询部分主要通过一个查询中心来支持,包括Hive,MySQL,Presto,Kylin等引擎,在查询中心里面我们做SQL解析。前面是一系列的BI产品,目前大部分是自研,面向用户可以直接写SQL的自主查询,并且看某一个指标,某一个时间段类似于online的分析数据产品,以及给BOSS们看的天机系统。还有指标提取工具,和商用oneline前端分析引擎设计是比较类似的,选取维度范围,还有适时的计算口径,会有一系列对维度适时的管理。数据内容数据表不够,还会配一些dashboard。
在前端分析方面,我们开发了星空展示中心,可以基于前面指标提取结果,配置一系列的饼图、线图、柱状图,去拖拽,最后构建出一个dashboard,功能同市面上的其他BI类似。
2.****平台演进时间线
2.1 ****平台发展
最开始美团开展数据这方面的工作的时候是2011年,当时的数据统计都是基于手写的报表,就是来一个需求我们基于线上数据建立一个报表页面,写一些表格。久而久之便跟不上管理模式了。首先是内部信息系统的工作状态,并不是一个垂直的,专门用做数据分析的平台,这个系统当时还是跟业务去共享的,跟业务的隔离非常弱,跟业务是强耦合的,而且每次来数据需求的时候都要有一些特殊的开发,开发周期非常长。
面对这个问题我们做了一个目前来看还算比较好的决策,就是重度依赖SQL。对SQL分装了一些报表工具,对SQL做了etl工具。主要是在SQL层面做一些模板化的工具,支持时间等变量。这个变量会有一些外部的参数传递进来,然后替换到SQL的行为。
在2011下半年,我们引入了整个数据仓库的概念,梳理了所有数据流,设计整个数据体系。做完了数据仓库整体的构建,发现整体的ETL被开发出来了。首先ETL都是有一定的依赖关系的,但是管理起来成本非常高,所以自研了一个系统。另外发现数据量越来越大,原来基于单机MySQL的数据解析是搞不定的,所以2012年上了四台Hadoop机器,后面十几台,到最后的几千台,目前可以支撑各个业务去使用。
2.2 ****最新进展
我们也做了一个非常重要的事就是ETL开发平台,原来都是基于Git仓库管理,管理成本非常高,当时跟个业务线已经开始建立自己数据开发的团队,我们把他们开发的整个流程平台化,各个业务线就可以自建。之后遇到的业务场景需求越来越多,特别是实时应用。2014年启动了实时计算平台,把原来原有关系型数据表全量同步模式,改为Binlog同步模式。我们也是在国内比较早的上了Hadoop2.0 on Yarn的改进版,好处是更好的激起了Spark的发展。另外还有Hadoop集群跨多机房,多集群部署的情况,还有OLAP保障,同步开发工具。
3.****平台化思路总结
3.1****平台的价值
作为一个平台的团队,核心价值其实就三个:
一是对于重复的事情要做精做专;
二是统一化。可以推一些标准,推一些数据管理的模式,减少业务之间的对接成本;
最重要的是为业务整体效率负责,包括开发效率、迭代效率、维护运维数据流程的效率,还有整个资源利用的效率。
3.2****平台的发展
如果才能发展成一个好的平台呢?
我理解的三点:
首先支持业务是第一位的,如果没有业务我们平台其实是没法继续发展的。
第二是与先进业务同行,辅助并沉淀技术。在一个所谓平台化的公司,有多个业务线,甚至各个业务线已经是独立的情况下,必定有一些业务线是先行者,他们有很强的开发能力、调研能力,我们的目标是跟这些先行业务线同行。
第三是设立规范,用积累的技术支撑后发业务。与业务一起前进的过程中,把一些经验、技术、方案、规范慢慢沉淀下来。对于刚刚新建的业务线,或者发展比较慢的业务线,我们基本策略是设置一系列的规范,跟优先先行业务线积累去支撑后续的业务线,以及功能开发的时候也可以借助。保持平台团队对业务的理解。

3.3****关于开源
以上谈到的平台中有很多是开源的直接拿来用的,比如说,zeppelin,Kylin。
我们的策略是持续关注,其实也是帮业务线做前瞻性调研,他们团队每天都在看数据,看新闻,他们会讲新出的一个项目你们怎么推,你们不推我们推了,我们可能需要持续关注,设计一系列的调研方案,帮助这些业务去调研,这样调研这个事情我们也是重复的事情只干一次。
如果有一些共性patch的事情,特别一些bug、问题内部也会有一个表共享,内部有大几十个patch。选择性的重构,最后才会大改,特别在选择的时候我们强调从业务需求出发,理智的进行选型权衡,最终拿出来的方案是靠谱能落地实施的方案。


文章源自公众号「帆软数据应用研究院」,ID: fr_research。关注公众号,回复 “美团” 可获取案例PPT!
往期案例推荐:
链家网大数据平台建设,平台枢纽--工具链
大数据平台在互联网行业的应用
互联网数据分析的底层应用架构

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容