一图看懂企业大数据平台核心架构,值得参考!

Java技术栈 Java技术栈     2022-12-10     435

关键词:

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

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

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

一、数据采集

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

数据源的种类比较多:

  • 网站日志:

作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,一般是在每台网站日志服务器上部署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可能需要上百行代码;

当然,使用Hadoop框架自然而然也提供了MapReduce接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapReduce来做分析与计算;

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,如果不在乎平台中再多一个框架的话。

  • 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

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

一图看懂云栖大会「云原生」重磅发布

简介:云原生产品全新升级云栖大会:云原生精彩继续更多企业数字化转型实践,点击下方链接查看【云栖大会-企业级互联网架构分论坛】直播回放https://yunqi.aliyun.com/2021/agenda/session184原文链接:https://developer.aliy... 查看详情

一图看懂,什么是“云定义存储”

世界的诞生是从盘古开天辟地开始而数据的存储则由在龟甲上刻下的第一个字开始经过数千年发展数据存储也从最初的龟壳、竹简等材料逐步进化到磁带、硬盘甚至云上在之前几千年里人们对于数据存储的需求并没那么高仅仅通... 查看详情

一图看懂mybatis执行过程

一图看懂mybatis执行过程,不再懵B了 查看详情

一图看懂镜像

原文链接本文为阿里云原创内容,未经允许不得转载。 查看详情

一图看懂rtt设备层次

本文由RT-Thread论坛用户@yangjie原创发布:https://club.rt-thread.org/ask/article/2997.html初学者福利。粗略地画了一个图,主要针对设备这块,能帮助初学者理解设备架构的层次关系。基础知识:《IO设备模型》初学者可... 查看详情

一图看懂召回率和准确率

参考技术A在算法大佬们的模型报告中,经常会出现“召回率”和“准确率”这两个指标,作为一名数据分析师,要是听不懂就尴尬啦,话不多说,看下面这个图,一目了然举例:在对视频内容进行分类时,视频池里总共有1000条... 查看详情

冷静审视人工智能技术的本质|一图看懂新一代人工智能知识体系大全

冷静审视人工智能技术的本质吴妙芸来源:图灵人工智能(ID:TuringAI01)人工智能的发展离不开基础支持层和技术层,基础支持层包括大数据、计算力和算法;技术层包括计算机视觉、语音识别和自然语言处理。在过去的2016年... 查看详情

一图看懂如何使用kibana

参考技术AKibana是为Elasticsearch设计的分析和可视化平台。通过Kibana来搜索和查看存储在Elasticsearch索引中的数据并与之交互,可以很容易实现高级的数据分析和可视化,并以图表的形式展现出来。下面分别演示一下Kibana的安装、自... 查看详情

一图看懂云栖大会「云原生」发布

简介: 云原生产品全新升级原文链接本文为阿里云原创内容,未经允许不得转载。  查看详情

一图看懂狄耐克“1+7+n”智慧居家解决方案

查看详情

一图看懂狄耐克“1+7+n”智慧居家解决方案

查看详情

一图看懂actortyped

...点击图片->在新标签页中打开图片可看大图。Actor简话一图说明Actor究竟是个什么东西,包括Actor的特点、结构、生命周期和一些必须遵守的 查看详情

一图看懂6g应用及用例研究

关注公号回复“220622”下载《NextGAllianceReport:6GApplicationsandUseCases》原文下一代通信联盟(NextGAlliance)是由美国电信行业解决方案联盟ATIS(AllianceforTelecommunicationsIndustrySolutions)牵头于2020年10月成立的ÿ 查看详情

一图看懂6g应用及用例研究

关注公号回复“220622”下载《NextGAllianceReport:6GApplicationsandUseCases》原文下一代通信联盟(NextGAlliance)是由美国电信行业解决方案联盟ATIS(AllianceforTelecommunicationsIndustrySolutions)牵头于2020年10月成立的ÿ 查看详情

一图看懂|2021阿里云混合云的高能时刻

 更多阿里云混合云产品,欢迎前往【混合云官网】混合云_HybridCloud_解决方案_数字化转型-阿里云更多混合云最佳实践,欢迎前往【混合云体验营】阿里云混合云体验营 查看详情

一图看懂|2021阿里云混合云的高能时刻

 更多阿里云混合云产品,欢迎前往【混合云官网】混合云_HybridCloud_解决方案_数字化转型-阿里云更多混合云最佳实践,欢迎前往【混合云体验营】阿里云混合云体验营 查看详情

一图看懂全志xr806鸿蒙系统架构

XR806支持的OpenHarmony属于轻量系统(minisystem)轻量系统是面向MCU类处理器例如ArmCortex-M、RISC-V32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB,可以提供多种轻量级网络协议,轻量级的图形框架... 查看详情

一图看懂git版本管理resetrevertcheckout

 git是一个流程,流程就有提交和回滚,git提供这些命令就是让你提交修改和回滚修改的.自己用powerdesign画了一张图,可以很容易看懂git中版本如何向前提交和向后回滚提交相关:add,comit回滚相关:reset,revert,checkout下图小人1,2,3分别... 查看详情