大数据平台核心架构图鉴,建议收藏!

article/2025/8/21 4:39:39

我们先来看看这张图,这是某公司使用的大数据平台架构图,大部分公司应该都差不多:

从这张大数据的整体架构图上看来,大数据的核心层应该是:数据采集层、数据存储与分析层、数据共享层、数据应用层,可能叫法有所不同,本质上的角色都大同小异。

所以我下面就按这张架构图上的线索,慢慢来剖析一下,大数据的核心技术都包括什么。

一、数据采集

数据采集的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。

数据源的种类比较多:

  • 网站日志:

作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,一般是在每台网站日志服务器上部署flume agent,实时的收集网站日志并存储到HDFS上;

  • 业务数据库:

业务数据库的种类也是多种多样,有Mysql、Oracle、SqlServer等,这时候,我们迫切的需要一种能从各种数据库中将数据同步到HDFS上的工具,Sqoop是一种,但是Sqoop太过繁重,而且不管数据量大小,都需要启动MapReduce来执行,而且需要Hadoop集群的每台机器都能访问业务数据库;应对此场景,淘宝开源的DataX,是一个很好的解决方案,有资源的话,可以基于DataX之上做二次开发,就能非常好的解决。

当然,Flume通过配置与开发,也可以实时的从数据库中同步数据到HDFS。

  • 来自于Ftp/Http的数据源:

有可能一些合作伙伴提供的数据,需要通过Ftp/Http等定时获取,DataX也可以满足该需求;

  • 其他数据源:

比如一些手工录入的数据,只需要提供一个接口或小程序,即可完成;

二、数据存储与分析

毋庸置疑,HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。

离线数据分析与计算,也就是对实时性要求不高的部分,在笔者看来,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC文件存储格式;非常方便的SQL支持,使得Hive在基于结构化数据上的统计分析远远比MapReduce要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;

另外,MySQL 系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。

当然,使用Hadoop框架自然而然也提供了MapReduce接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapReduce来做分析与计算;最新面试题整理好了,点击Java面试库小程序在线刷题。

Spark是这两年非常火的,经过实践,它的性能的确比MapReduce要好很多,而且和Hive、Yarn结合的越来越好,因此,必须支持使用Spark和SparkSQL来做分析和计算。因为已经有Hadoop Yarn,使用Spark其实是非常容易的,不用单独部署Spark集群。

三、数据共享

这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库;

前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据;和数据采集层到HDFS刚好相反,这里需要一个从HDFS将数据同步至其他目标数据源的工具,同样,DataX也可以满足。

另外,一些实时计算的结果数据可能由实时计算模块直接写入数据共享。

四、数据应用

  • 业务产品(CRM、ERP等)

业务产品所使用的数据,已经存在于数据共享层,直接从数据共享层访问即可;

  • 报表(FineReport、业务报表)

同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;

  • 即席查询

即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;

这种即席查询通常是现有的报表和数据共享层的数据并不能满足他们的需求,需要从数据存储层直接查询。

即席查询一般是通过SQL完成,最大的难度在于响应速度上,使用Hive有点慢,可以用SparkSQL,它的响应速度较Hive快很多,而且能很好的与Hive兼容。

当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。推荐一个 Spring Boot 基础教程及实战示例:https://github.com/javastacks/spring-boot-best-practice

  • OLAP

目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;

这时候,需要做相应的开发,从HDFS或者HBase中获取数据,完成OLAP的功能;比如:根据用户在界面上选择的不定的维度和指标,通过开发接口,从HBase中获取数据来展示。

  • 其它数据接口

这种接口有通用的,有定制的。比如:一个从Redis中获取用户属性的接口是通用的,所有的业务都可以调用这个接口来获取用户属性。

五、实时计算

现在业务对数据仓库实时性的需求越来越多,比如:实时的了解网站的整体流量;实时的获取一个广告的曝光和点击;在海量数据下,依靠传统数据库和传统实现方法基本完成不了,需要的是一种分布式的、高吞吐量的、延时低的、高可靠的实时计算框架;Storm在这块是比较成熟了,但我选择Spark Streaming,原因很简单,不想多引入一个框架到平台中,另外,Spark Streaming比Storm延时性高那么一点点,那对于我们的需要可以忽略。

我们目前使用Spark Streaming实现了实时的网站流量统计、实时的广告效果统计两块功能。

做法也很简单,由Flume在前端日志服务器上收集网站日志和广告日志,实时的发送给Spark Streaming,由Spark Streaming完成统计,将数据存储至Redis,业务通过访问Redis实时获取。

六、任务调度与监控

在数据仓库/数据平台中,有各种各样非常多的程序和任务,比如:数据采集任务、数据同步任务、数据分析任务等;

这些任务除了定时调度,还存在非常复杂的任务依赖关系,比如:数据分析任务必须等相应的数据采集任务完成后才能开始;数据同步任务需要等数据分析任务完成后才能开始;

这就需要一个非常完善的任务调度与监控系统,它作为数据仓库/数据平台的中枢,负责调度和监控所有任务的分配与运行。

来源:http://lxw1234.com/archives/2015/08/471.htm


http://chatgpt.dhexx.cn/article/33otnLMP.shtml

相关文章

葱油拌面的做法 手残党都能学会

很多人都爱吃葱油拌面,可是在家怎么做葱油拌面呢? 葱油拌面 是一道以面条、猪油、黄瓜丝、葱、姜、盐、鸡精、酱油、白糖、料酒、桂皮、大料作为食材制作而成的家常面食。通常是将煮熟的面条放上葱油一起拌着吃。也是上海招牌美食,面条有韧劲又滑爽&am…

如何做红烧肉好吃又不腻 教你做红烧肉

如何做红烧肉好吃又不腻 最快的做法就是用高压锅了,加点花椒,大料,料酒,葱段,姜片,放到高压锅里开始炖,20分钟就很烂了,20分钟非常烂。之后捞出来。 (1)炒锅…

各种酱料名称大全_调料大全名称 日常调料有哪些

厨房里的调料主要有食盐、生抽、老抽、蚝油、香油、白醋、陈醋、八角、花椒、桂皮、陈皮、花椒、辣椒、生姜、大葱、大蒜、鱼露、味精、鸡精、料酒、白糖、冰糖、孜然、茴香、五香粉、十三香、胡椒、香叶等。 日常调料有哪些 调料主要是人们在日常生活中用来烹饪菜肴和食物等使…

吃海鲜搭配什么菜好 搭配这些健康又美味

相信海鲜是众多人心中无法割舍的心头爱之一,很多人下馆子必点海鲜类美味,也有人会自己在家制作各种海鲜美食,那么吃海鲜搭配什么菜好呢? 吃海鲜搭配什么菜好 麻辣拍黄瓜 这道菜想必大家都知道,但是它搭配着海鲜吃真的特别棒。…

“乌木”到底是何物?它是怎样形成的?为何总能卖出天价?

俗话说“家有乌木半方,胜过财宝一箱”,可见这乌木是一种多么珍贵的木材。那么这乌木到底是何物?它是怎样形成的?其实乌木是川人对阴沉木的俗称,有些知情人士知道,这阴沉木在古代人眼里是极为罕见的珍宝&…

数字签名和数字证书

文章目录 数字签名(digital signature)1. 解决问题2. 应用场景3. 运行原理4. 存在问题 数字证书(digital certificate)1. 解决问题2. 应用场景3. 运行原理1)申请数字证书2)应用在Https网站 提示:本篇文章融入了个人对相关概念的理解&#xff…

工艺路线和工序有差别吗_你知道吗?市政道路排水工程的主要工序施工工艺是什么...

易筑教育给排水课程火热招生中! 张老师微信号:yizhujiaoyu999 市政道排工程施工遵循的基本顺序是:先地下,后地上;先深后浅。按照这个顺序,正常的施工顺序为基础处理、排水管道(涵)施工(雨、污水)、道路基层…

从头搭建一个“微博”有多难

本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第13篇,今天的文章我们不讲空洞的理论,来聊一个实际点的问题。 众所周知,微博的程序员经常不定期加班。和别的程序员不同&#xff0c…

劫持流量是什么,常见的流量劫持手法有哪些呢?

网络流量劫持是什么?其实就是大坏蛋动用一切技术手段,当亲们输入一个网址然后点击回车的时候,把亲们忽悠另一个网站上去哦,或者向亲们原本想访问的的网站内容里加点花椒大料。 IIS7网站监控可以及时防控网站风险,快速准确监控网站是否遭到各种劫持攻击,网站在全国是否能正…

html时分选择器,HTML常用标签+CSS选择器-2018年8月14日20时20分提交

实例 HTML>标签的使用及布局 body{ width:auto; height:auto; padding: 0px; margin: 0px; font-weight:bold; background-color: #0d0410; }/*宽、高设置自动,内外补丁设置0PX,字体宽度默认,背景颜色黑色*/ a{ text-decoration: none; co…

私厨菜谱app的设计与实现(二)

一.准备工作 1.注册API账号 2.添加第三方依赖 首先添加首先添加RecyclerView、OkHttp、 Glide、Gson的依赖 implementation com.android.support:recyclerview-v7:28.0.0 implementation com.squareup.okhttp3:okhttp:4.4.0 implementation com.github.bumptech.glide:glide:4.…

Node.js学习(三)常用模块与网络爬虫

学习视频 Node.js学习(一)介绍 Node.js学习(二)异步、缓存区、文件系统 path模块 nodejs中,提供了一个path模块,在这个模块中,提供了许多实用的、可被用来处理与转换文件路径的方法和属性 什么…

Escript氨基酸对比图怎么看_23张和田玉真假皮色对比图,看懂了再也不怕被坑

在玉石珠宝这个行业中,利益的驱使常常使很多商贩有各种各样不同的手段来造蒙骗。不管哪一个品种里有或多或少的假货掺杂。比如和田玉,假皮种类形形色色、多种多样。如果是初学者,辨别其真伪的确有一定难度,高科技下的造假皮色&…

鹅肉是凉性还是热性 鹅肉怎么做好吃

鹅肉鲜嫩味美,很多人都非常爱吃,那么你知道鹅肉是凉性还是热性吗?鹅肉怎么做好吃呢?一起了解一下。 鹅肉是凉性还是热性 中医认为,鹅肉性平、味甘,具有益气补虚、和胃止渴、止咳化痰,解铅毒、祛风湿、防衰老等作用…

红烧肉怎么做好吃 红烧肉的做法

很多人都爱吃红烧肉,入口香味浓郁简直是人间美味啊,那么红烧肉怎么做好吃呢?红烧肉的做法了解一下。 原料 猪带皮五花肉 调料 葱姜蒜、八角、桂皮、小茴香、花椒、绍酒、盐、酱豆腐汤、酱油、冰糖、干辣椒 做法: https://www.chachaba…

素饺子馅的做法大全 素饺子馅如何做

素饺子,要的就是一个“素”字,寻常百姓家,希望新的一年没有什么大起大落,平平安安,用天津话就是“素素静静过一年”。素饺子馅儿有白菜,豆腐干儿,香菜,木耳,粉条&#xf…

我用Python爬取美食网站3032个菜谱并分析,没有我不会做的菜!

这是巨变的中国,人和食物,比任何时候走的更快。近日,J哥为了寻味中国,奔走于某五线城市的大街小巷,结果除了累,啥也没寻到。 于是,J哥默默打开了各大美食网站,如豆果美食、下厨房、…

【知识图谱导论-浙大】第二章:知识图谱的表示

前文: 【知识图谱导论-浙大】第一章:知识图谱概论本节内容的视频讲解如下: 【知识图谱理论】(浙大2022知识图谱课程)第二讲-知识图谱的表示 什么是知识表示 简而言之,知识表示(Knowledge Representation, KR)就是用易于计算机处理的方式来描述人脑知识的方法。KR不是…

我用Python爬取美食网站3032个菜谱并分析,真香!

这是巨变的中国,人和食物,比任何时候走的更快。近日,J哥为了寻味中国,奔走于某五线城市的大街小巷,结果除了累,啥也没寻到。 于是,J哥默默打开了各大美食网站,如豆果美食、下厨房、…

JLink重刷固件(win7/win8/win10亲测可用)

转 [转]JLink重刷固件(win7/win8/win10亲测可用) 2017年09月12日 14:31:55 醒着的树懒 阅读数:6329 去年刚刚用上J-link的时候坏过一次,当时在网上也看了很多重刷固件的方法,但绝大多数的都是win7甚至有些需要xp&#…