深度好文!多年架构师经验,详解阿里内部大数据平台架构
今天在某乎上看见这么一个问题:
其实,这个问题就相当于是把自己的组织架构透露给外部了,因为太多的人想要知道大数据的平台怎么架构,组织怎么架构,每一步应该做什么,有什么注意点等等。
今天我就把我自己所知道的,全都告诉你们。
首先,先来回答一下这个问题:大数据平台,必须要上吗?答案是肯定的,数据量TB级以上,必须上大数据平台,你这么想:你刷微博,看抖音,玩游戏,每时每刻都在产生数据,这个量如果不用一个专门的平台去分析,公司早就崩溃了。
再讲个一个段子:某公司的hadoop集群第一次故障是因为,机器放在靠窗的地方,太阳晒得宕机了(笑)。从简单的没有机房放在自家窗前的集群到一直到现在复杂的数据平台,这是一个不断演进的过程。
阿里今天的底层平台已经被odps统一了,可能有那么几个超级牛逼的业务方,超级金牛,他们可以有自己的私有集群,自己想怎么玩就怎么玩,别的业务基本都是在odps上。估计今天金牛也会在odps上了。
就是底层平台是个公共的资源池,然后各条业务线都可以在这个平台上跑自己的业务,然后中间有个数据仓库的平台部门,负责共有数据的需求,他们会负责去接入集团各种各样的数据源,然后提供公共服务给各个业务方,下面我分前台部门,中台部门,后台部门三个部分分别谈一下组织架构。
1.前台部门,就是各个业务方,阿里总体来说,有这么几个大块的重量级大数据业务:
- 商业智能:这个是给各个大老板看的,你们不要以为老马对经济走势的判断是胡说,老马背后的商业智能团队可能是中国最好的商业智能团队,远胜各大神奇的高大上咨询公司。各条业务线的大老板估计每天都会看日报,有些关键指标他们很care的。商业智能的业务每天大概会有上万个job在跑,是绝对的大数据。
- 搜索:搜索这个业务懂的人就会懂,在阿里,搜索也是一个很重的业务,搜索的数据预处理是个大数据处理过程。
- 推荐:这个业务是现在的ceo在天猫ceo任上的时候力推的,尤其是个性化推荐,这个也是用数据的大头。
- 广告:阿里的大金牛,以前他们是有自己的集群的,因为业务太重要了,当年odps为了拿下广告的业务,专门派后台工程师去帮他们优化job,可见已经到了什么地位了,广告的计算量不用我多讲了。
- 阿金:阿里金融是odps的第一个客户,当年阿金的job对于后台工程师是可见的,因为阿金的数仓老板说了,给你们看你们也看不懂,所以哈哈哈,好多后台工程师手上居然有阿金的全部job,测试的时候动不动就拿这几千个job虐集群。
- 安全:是的,阿里的安全已经用上大数据了。
2.中台部门,就是集团的基础数据仓库平台,这个部门负责去各个业务部门接入数据源,然后做数据清洗,做数据仓库建模,一些共有的数据需求会在这一层做掉,比如用户表,比如交易表,这两张代表很重要,属于共有需求,这个就是中台部门在做的。
当然,他们还有很多共有需求,如果有业务方觉得某个数据他们希望由中台部门来做,他们也可以跟中台聊聊,一般都会接这个业务。
3.后台部门,就是odps,这个就是各种计算模型,主要的计算模型有三种,第一sql,第二mapreduce job,第三机器学习的job。所以基本上,这个底层平台需要满足这么几种计算需求:
- 数据导入导出
- sql
- mapreduce
- 机器学习库
当然,这个平台也有其他的计算模型,比如迭代计算,内存计算什么的,不过这些太技术化了,就不聊了。
如何搭建大数据平台呢?
整体而言,大数据平台从平台部署和数据分析过程可分为如下几步:
1、linux系统安装
一般使用开源版的Redhat系统--CentOS作为底层平台。为了提供稳定的硬件基础,在给硬盘做RAID和挂载数据存储节点的时,需要按情况配置。例如,可以选择给HDFS的namenode做RAID2以提高其稳定性,将数据存储与操作系统分别放置在不同硬盘上,以确保操作系统的正常运行。
2、分布式计算平台/组件安装
目前国内外的分布式系统的大多使用的是Hadoop系列开源系统。Hadoop的核心是HDFS,一个分布式的文件系统。在其基础上常用的组件有Yarn、Zookeeper、Hive、Hbase、Sqoop、Impala、ElasticSearch、Spark等。
值得一提的是,上面提到的组件,如何将其有机结合起来,完成某个任务,不是一个简单的工作,可能会非常耗时。
3、数据导入
前面提到,数据导入的工具是Sqoop。用它可以将数据从文件或者传统数据库导入到分布式平台。
4、数据分析
数据分析一般包括两个阶段:数据预处理和数据建模分析。数据预处理是为后面的建模分析做准备,主要工作时从海量数据中提取可用特征,建立大宽表。这个过程可能会用到Hive SQL,Spark QL和Impala。
数据建模分析是针对预处理提取的特征/数据建模,得到想要的结果。如前面所提到的,这一块最好用的是Spark。
5、结果可视化及输出API
可视化对结果或部分原始数据做展示,一般有两种情况,行数据展示,特别查找展示。在这里,要基于大数据平台做展示,会需要用到ElasticSearch和Hbase。Hbase提供快速『ms级别』的行查找。 ElasticSearch可以实现列索引,提供快速列查找。
对于一些本身体量较小或者目前数据量积累较少的公司,个人认为没有必要搭建这一套系统,暂时先租用AWS和阿里云就够了。对于数据量大,但数据分析需求不是非常复杂的公司,可以直接买Tableau,FineBI、FineReport等即可,寻求这些公司合作对于入门级的大数据企业或没有大数据分析能力的企业来说是最好的解决途径。
以上是我从事大数据以来的一些认识,可能有所疏漏,欢迎补充。
深度好文!多年架构师经验,详解阿里内部大数据平台架构相关推荐
- 硅谷企业的大数据平台架构什么样?看看Twitter、Airbnb、Uber的实践
导读:本文分析一下典型硅谷互联网企业的大数据平台架构. 作者:彭锋 宋文欣 孙浩峰 来源:大数据DT(ID:hzdashuju) 01 Twitter的大数据平台架构 Twitter是最早一批推进数字 ...
- 2011年系统架构师考试题详解
原文地址为: 2011年系统架构师考试题详解 考试科目一:综合知识 操作系统为用户提供了两类接口:操作一级和程序控制一级的接口,以下不属于操作一级的接口是(1). (1)A.操作控制命令 B.系统调用 ...
- 2010年系统架构师考试题详解
原文地址为: 2010年系统架构师考试题详解 考试科目一:综合知识 采用微内核结构的操作系统提高了系统的灵活性和可扩展性,(1) (1)A.并增强了系统的可靠性和可移植性,可运行于分布式系统中 B.并 ...
- 2015年系统架构师考试题详解
原文地址为: 2015年系统架构师考试题详解 考试科目一:综合知识 某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,-,n)管理机票销售.假设Tj(j=1,2,-, ...
- 一文详解大数据平台架构
大数据的4V特征 公司的"大数据" 随着公司业务的增长,大量和流程.规则相关的非结构化数据也爆发式增长.比如: 1.业务系统现在平均每天存储20万张图片,磁盘空间每天消耗100G: ...
- hadoop大数据平台架构之DKhadoop详解
hadoop大数据平台架构之DKhadoop详解 大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展. ...
- 《程序员》11月精彩内容:大数据平台架构与技术实践
本期<程序员>呈现大数据平台架构与技术实践精彩内容,汇聚来自去哪儿.游族网络.链家网.万达金融等公司的技术专家,将带领读者共同探讨热门技术应用和实践优化,深入解析蕴藏的数据价值,展现时下大 ...
- 大数据平台架构技术选型与场景运用
内容来源:2017年5月6日,大眼科技CTO张逸在"魅族技术开放日第八期--数据洞察"进行<大数据平台架构技术选型与场景运用>演讲分享.视频地址:https://mp. ...
- 大数据平台架构的层次划分
1. 数据源层:包括传统的数据库,数据仓库,分布式数据库,NOSQL数据库,半结构化数据,无结构化数据,爬虫,日志系统等,是大数据平台的数据产生机构. 2. 数据整理层:包括数据清洗.数据转换.数据加 ...
最新文章
- Singleton 单例模板
- 关于绑定IP地址与端口号的见解
- 【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机...
- Spring Cloud Gateway(路由)
- 《Java和Android开发实战详解》——2.2节构建Java应用程序
- 如何查找Fiori UI上某个字段对应的后台存储表的名称
- 2022年最新javaEE学习路线图
- leetcode 860. 柠檬水找零(贪心算法)
- eclipse-在编译项目时js特别慢的问题
- canvas 擦除动画_帧动画的多种实现方式与性能对比
- Win10用户获取最高权限的方法?
- hdu 3925 一道复杂的简单题
- BP 神经网络的非线性系统建模——非线性函数拟合
- CXF学习创建WebService
- healthkit框架使用
- 入门短视频剪辑,可以选择什么类型的做?
- 类和对象9:属性访问方法
- python文件处理pdf_Python用于NLP :处理文本和PDF文件
- R语言参数自抽样法Bootstrap:估计MSE、经验功效、杰克刀Jackknife、非参数自抽样法可视化
- 音频多声道数据的操作