极客星球 | 阿里携手MobTech共话大数据平台架构演变之路

编者按:6月9日晚,由阿里EMR技术团队发起的“Apache Spark中国技术社区线上技术研讨会”在云端举行。全球数据智能科技平台MobTech袤博科技受邀参加,大数据PaaS平台负责人大宗师分享了企业大数据PaaS平台架构演变之路,以及迭代升级过程中遇到的一系列问题和解决思路。

在这里插入图片描述

以下为分享内容:

历经9年发展,MobTech袤博科技现已覆盖全球近155亿+移动端设备,业务覆盖营销、金融、商业地理等多个垂直行业,同时为政府业务提供支持。公司从2015年,组建专门的大数据部门,选择了业界主流的计算平台构建大数据平台。在经过一段的时间发展之后,基础架构已经无法满足业务的需求,大数据PaaS平台架构演变之路就此开始。后面从起步期、快速发展期、整合重构期,三个不同阶段中的探索思路、落地实践以及优化思考,阐述了企业大数据PaaS平台架构的演变。

▌起步期

首先是起步期,那时候我们刚刚准备开展大数据业务。在技术选型上,由于数据体量还未达到一个很大的程度,以及大数据业务还处于探索阶段,因此我们采用业界主流的hadoop生态构建我们的大数据平台。架构也相当的简单,由于我们的数据源大部分是日志数据,加上少量的业务数据存放在mysql,因此我们在数据接入层使用了kafka+flume采集日志数据,sqoop来同步mysql数据到hdfs。在通过数仓开发同学,将数据加工处理,一部分沉淀为用户标签,一部分数据用来制作报表。计算引擎方面主要是hive和spark相结合。因为当时还没有olap即席查询的需求,没有考虑一些比如presto的引擎。业务也相对比较简单,主要是用户画像以及报表需求。

因为数仓刚开始构建,需要定时运行任务或者生成数据,因此任务调度开始有了需求。但是由于当时还没有统一平台的概念,调度系统的选择上也比较混乱。大数据开发通常使用自己比较熟悉的组件,有Ooize/Azkaban,以及使用原生crontab。操作方式也很直接,直接使用集群跳板机登陆机器,完成一些开发或者取数的操作。现在看来,这种比较原始的方式在企业大数据平台构建初期还是可行的,但是弊端也很明显。
在这里插入图片描述

▌快速发展期

随着公司业务的发展以及数据量的增加,平台化的需求也提上日程。我们也开始参照业界的一些案例,探索平台化的一些方案。在数据接入方面,由于数据源的拓展,数据源由我们的统一数据接入系统,写入到kafka,在通过flume实时处理,一部分导入到hbase和es做实时查询,一部分进入到离线数仓。数仓方面,我们引入了hbase用作标签存储,提供实时查询。引擎方面我们增加presto做为olap引擎做即席查询。在平台方面,我们逐步上线了调度系统、元数据管理、自助查询系统。这些系统很大程度上提高了开发效率。后续又上线了一系列系统,例如血缘分析、数据质量、ETL系统、AI模型管理等等。

在这里插入图片描述

▌整合重构期

在经过平台的快速发展期之后,我们主动放慢了脚步,开始思考应该做些什么才能提高平台的使用率,更好体现出这些系统的价值来。于是我们开始转变思路,由原来的需求导向,转变为产品导向,思考怎样才能做出好的平台产品。
在这里插入图片描述

首先我们做的一件事就是,减少子平台数量,整合现有系统。我们在数据地图上重新设计了UI。除了将各个模块整合外,我们提供了简便入口,可以打开一张表就完成所有的操作。我们还设置资产评分体系,结合集群存储、血缘使用情况以及数据质量,对数据的价值进行量化评分。针对集群数据量暴增的问题,我们上线生命周期管理功能,对长期未使用的表进行清理,保证集群存储的健康。此外,我们拓展了血缘采集工具,完整支持hive/spark/presto这些我们公司主要使用的计算引擎。

另外一件事情就是开源。之前提到开发人力不足,缺乏价值产出的问题,是很多公司都会遇到的问题。我们的思路就是,寻找一些优秀的、社区活跃的开源产品来进行二次开发,开源与自研相结合的方式。我们引入了由微众开源的数据开发中间件Linkis(内部代号CodeWeaver),以替代原先的自助查询平台和交互式IDE,提供一站式的数据开发服务。近期我们也在使用Dolphinscheder作为我们调度系统的升级。
在这里插入图片描述

                 CodeWeaver架构设计

在这里插入图片描述

            自研产品数据地图Jarvi优势

可以说这个阶段,是平台主动出击,不再是被动接收需求,而且主动去贴近业务,去更好的挖掘数据价值,提升数据服务的影响面。在平台建设中,我们踩过了不少坑,遇到了不少问题,也总结出了一些内容,在这里和大家分享一下。

▌创业公司搭建大数据平台的选型,开源还是自研?

技术选型时企业大数据建立之初必定要考虑的问题。通常来说,会有自研和开源两条路,这两种方式各有千秋。

开源的特点:

市面上开源大数据产品相对丰富。基于hadoop生态,会有相当丰富的平台产品。相对自研,开源产品开发成本大幅度降低,开源产品基本上是开箱即用,而自研产品需要投入大量人力,同时在一段时间内无法提供产出,这对一般的小公司是没法负担社区活跃,有全球顶尖的开发者参与研发和维护。

自研的特点:

结合自身业务场景的特点,可以进行定制化需求。开源产品定制化程度低,只是提供了通用模块。相对于二次开发,更加灵活,基于开源产品的二次开发不是很容易,有的时候因为架构、或者开发语言的限制。能很容易进行二次开发的项目可遇不可求。

我们在平台建设的过程中,经历了从纯自研再到开源自研相结合的道路。第一主要是考虑到公司的特殊性,没有特别多的人力去进行平台的开发工作,且在短时间内没有丰富的产出,这对一平台来说是有比较大压力的。同时,由于大数据行业的发展,一些优秀的开源项目涌现了出来。比如Linkis,Dolphinscheduler等等。

因此在一些通用的模块上选择优秀的开源产品调度、数据开发平台,融入了自己的能力,同时集中开发资源自研企业定制化程度高的产品如数据地图产品。

▌怎样发展成一个好的平台

随着大数据的井喷式爆发,企业在处理数据模型、数据计算、数据治理和运维保障等工作的难度越来越大,对大数据系统建设提出了更高要求。在未来,我们需要一个更好的平台能够支撑业务发展、提升产品体验、逐步满足企业的精细化运营,最终实现技术沉淀与共享,构建通用服务。

在我们看来,要成为一个好的平台有以下几个要点

第一、支撑业务。支撑业务方完成完整的数据开发流程,提升平台的稳定性和可靠性;

第二、提升产品体验。发展初期,需求驱动固然没错,但是未来要往产品体验的方向驱动,提升用户体验,让用户不只是使用,还要会用,再是想用;

第三、逐步支撑企业的精细化运营。这是我们目前正在努力的方向。无论是降低大数据成本,还是挖掘数据价值,都是支撑企业精细化运作的重要方式;

最后,技术沉淀与共享,构建通用服务,打造企业及大数据平台的同时,积极参与开源社区,共同进步。

▌未来我们平台的发展方向有以下几点

1、降本增效,通过资产管理和资产评分体系建设,减少大数据运维成本,同时开发平台集成更多的能力,提高开发效率;

2、继续打造全平台的分布式监控系统,保证数据从生产到使用的全流程可靠性,提升数据价值;

3、从自动化到智能化。目前我们已经实现了自动化的一些事情,比如自动化调度,自动化集群清理等等。未来是希望往更加智能的方向发展。包括接入更多的计算引擎,智能选择引擎路由查询。以及根据数据的冷热使用情况、影响力自动设置合理的生命周期。再比如根据表字段信息,业务信息等进行相似分析,找出相似表等等。

让企业更方便更安全更智能的使用数据,挖掘数据价值,是我们未来努力的一个方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MobTech袤博科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值