共计 3069 个字符,预计需要花费 8 分钟才能阅读完成。
编者按: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、从自动化到智能化。目前咱们曾经实现了自动化的一些事件,比方自动化调度,自动化集群清理等等。将来是心愿往更加智能的方向倒退。包含接入更多的计算引擎,智能抉择引擎路由查问。以及依据数据的冷热应用状况、影响力主动设置正当的生命周期。再比方依据表字段信息,业务信息等进行类似剖析,找出类似表等等。
让企业更不便更平安更智能的应用数据,开掘数据价值,是咱们将来致力的一个方向。