一张图,详解大数据技术架构

技术架构图汇总 文档包含了JVM、Struts、Spring、J2EE、Android等架构图 立即下载

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:网络

7e73dabc3e86b61ee97c289632b55b57.png


开局一张图:

efb15d89852effd6c1c2540c97cb3ff7.png

这是某公司使用的大数据平台架构图,大部分公司应该都差不多。

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

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

01 大数据采集

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

数据源的种类比较多:

1、网站日志

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

2、业务数据库

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

aec9d275fb9ee7064b29ddb91412c37d.png

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

3、来自于Ftp/Http的数据源

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

4、其他数据源

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

推荐下自己做的 Spring Boot 的实战项目:

https://github.com/YunaiV/ruoyi-vue-pro

02 大数据存储与分析

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

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

899794acd9e5983e3d93b565ac03073f.png

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

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

推荐下自己做的 Spring Cloud 的实战项目:

https://github.com/YunaiV/onemall

03 大数据共享

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

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

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

04 大数据应用

1、业务产品(CRM、ERP等)

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

2、报表(FineReport、业务报表)

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

3、即席查询

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

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

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

当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。

4、OLAP

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

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

5、其它数据接口

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

05 实时数据计算

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

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

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

06 任务调度与监控

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

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

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



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

19da358eb62855f75da677bb8efb1741.png

已在知识星球更新源码解析如下:

b5466ef1a95e69298cc50a716e562bf4.png

61a26b1713e896c33923664490442425.png

065fede8dd4ee0775ce422b114cbbb1d.png

22a30e683fb3e7076e8e64131368b49f.png

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
ROS机器人全覆盖路径规划实战:6种ipa算法对比与选型指南(附避坑经验) 本文深入对比了ROS中ipa_coverage_planning功能包集成的6种全覆盖路径规划算法,包括牛耕分解、栅格旅行商、神经网络、局部能量最小、轮廓线和凸感知放置。文章从覆盖率、重复率、计算效率、动态避障等核心工程指标出发,提供了基于不同场景(如静态/动态环境、规则/复杂布局)的实战选型指南,并分享了神经网络和局部能量最小等关键算法的参数调优与避坑经验,旨在帮助开发者根据实际需求选择并优化最合适的ipa覆盖算法。 阅读详情

相关推荐

利用HTML+CSS设计PPT:html-to-pptx实现自动化转换与可编辑输出

在办公自动化和前端开发领域,将网页技术应用于文档生成是一个重要的技术方向。其核心原理在于通过解析HTML/CSS的结构与样式,将其映射为目标文档的原生对象模型。这项技术的价值在于,它能够将Web技术栈强大的布局与样式能力(如Flexbox、CSS Grid)与办公软件(如Microsoft PowerPoint)的广泛兼容性和可编辑性相结合。在实际应用场景中,这种技术特别适合需要快速生成兼具设计感与实用性的演示文稿,例如数据报告、产品发布和营销材料。本文探讨的html-to-pptx项目正是这一思路的工程实

weixin_30652491的博客 487

一文搞懂业务架构、应用架构、技术架构、数据架构

一文搞懂业务架构、应用架构、技术架通过业务组件的串联形成流程图。业务架构、数据架构、应用架构和技术架构是企业架构中的四个主要架构,它们在关注的方面和功能上有所不同,但是它们是相互关联和相互支持的,共同构成了企业的总体架构。在企业中台建设中,数据架构是核心,通过对企业的数据资源进行规划和设计,可以实现数据共享和数据治理,提高数据的价值和利用效率。数据标准,数据采集加工,数据入湖,数据治理,数据共享服务,数据安全,数据质量,数据架构。技术选型,框架,PaaS平台,云原生,DevOps,微服务,容器化,部署架构。

qq_36078699的博客 3972

海思方案定制hi3531dv200/SS528 DVR方案解析:从硬件选型到编解码实战应用

海思方案,Hi3518EV100,Hi3518CV100,Hi3515CV100,Hi3516CV100,Hi3516ECV100,Hi3516D,Hi3516A,Hi3519,Hi3520D,Hi3521A,Hi3535,Hi3531,Hi3536,Hi3536C,Hi3536D,Hi3518EV200,Hi3518EV201,Hi3520DV200,Hi3516CV200,Hi3516CV300,Hi3516AV200,Hi3520DV300,Hi3519V101,sd3403,hi3519av200

1585

系统设计之架构图——应用架构图、技术架构图、业务架构图

文章目录1 什么是架构图?1.1 架构图的定义1.2 架构图的分类 1 什么是架构图? 1.1 架构图的定义 往往系统是非常复杂的,无法一下子全部表达清楚,架构要涵盖的内容和决策太多了,超过了人脑"一蹴而就"的能力范围,因此采用"分而治之"的办法从不同视角分别设计。 所以,也需要从不同的维度来描述这个系统。 也就是说架构图是对系统从某种维度视角的表达,每一种架构图,都是一种视角。 1.2 架构图的分类 ...

小哈里的博客 4万+

【Diffusion分割】医学图像分割中去噪扩散技术

扩散模型(DPM)在图像生成方面表现出了卓越的性能,其性能往往优于其他生成模型。自其问世以来,强大的噪声-图像去噪管道已被扩展到各种判别任务中,包括图像分割。在医学成像中,图像往往是大型三维扫描图像,由于内存消耗大、迭代采样过程耗时,使用 DPM 对一幅图像进行分割的效率极低。在这项工作中,我们提出了一种(LDSeg),可在潜空间中执行扩散,用于医学影像分割。我们。潜空间条件扩散不仅能确保对多标签对象进行精确的 n-D 图像分割,还能缓解基于 DPM 的传统分割法的主要潜在问题:(。

qq_43583311的博客 1171

最新虚拟串口 Virtual Serial Port Driver V11.0.1068 已经汉化

Virtual Serial Port Driver 11.0.1047 是一款功能强大的虚拟串口驱动程序,专为需要在开发和测试环境中模拟物理串口连接的用户设计。该版本于2023年4月5日发布,主要修复了在导入无效的COM端口捆绑设置时导致的崩溃问题,并优化了软件的自动更新功能。通过使用Virtual Serial Port Driver,用户可以在不依赖物理硬件的情况下,轻松创建和管理虚拟串口,极大地提高了开发和测试的效率。

中游鱼的博客 3万+

技术架构

本文是阅读《极客时间-架构实战案例解析》的读书笔记 1、概述 对于开发人员来说,我们每天都在用技术。但我们写的代码,其实只是系统的一小部分,我们了解的技术,也只是系统用到的一小部分。要深入掌握技术架构,就需要了解整体的系统。 面对一个复杂的系统,经常会有以下困扰: 不清楚系统整体的处理过程,当系统出问题时,不知道如何有针对性地去排查问题。 系统设计时,经常忽视非业务性功能的需求,也不清楚如何实现这些目标,经常是付出惨痛教训后,才去亡羊补牢。 技术架构是从物理层面定义系统,并保障系统的稳定运行。那么先.

跨语言,跨平台,跨应用 1万+

备战数学建模38-粒子群算法pso番外篇1(攻坚战2)

粒子群算法最初是根据鸟类群体行为得到的启发,对鸟群行为进行仿真的算法,是一种启发式算法,也就是智能优化算法,利用信息共享,通过中间信息进行改进搜索,从而获得问题的可行解。我们简单从下图去体会一下粒子群算法,就是有多个鸟,每个鸟相当于一个粒子,每只鸟的位置受自己认知的历史最佳位置和当前距离食物最近的鸟的位置的影响。我们进一步分析这个图,可以得到两个公式,第一个是速度公式,即每只鸟的当前速度受上一步的速度惯性,自我认知和社会认知三部分影响,第二个是位置公式,即每只鸟的位置受上一位置和上一位置的速度的影响。

nuist_NJUPT的博客 1666

八大技术架构——升级之路

单机架构是指应用服务和数据库服务公用一台服务器,出现在互联网早期,访问量比较少,单机足以满足需求应用服务和数据库服务使用不同的服务器,这是由于单机存在严重的资源竞争,导致站点变慢而出现的。在应用数据分离架构的基础上以集群的方式运作,并引入负载均衡(所有的用户请求会先经过负载均衡,再到服务器,当一个服务器接受请求过大时,负载均衡就会将请求分配到其他服务器上),控制集群平衡。

CYK_byte的博客 3463

Open3D 实现CSF布料模拟算法【2025最新版】

CSF布料模拟算法在open3d模块下的实现,博客长期更新,本文最近更新时间为:2025年1月16日。。

点云侠的博客 5749

【系统架构设计师-2026上半年真题】案例分析-参考答案及详解(回忆版)

架构评估与设计:通过入侵检测系统的案例分析,阐述质量属性(性能/可用性/安全性/可修改性)的匹配方法,推荐管道-过滤器风格处理实时数据流,并设计8个核心构件实现数据采集到告警的全流程处理。 高并发优化方案: 分析悲观锁(排他锁/共享锁)与乐观锁的特性差异,提出乐观锁通过版本号/CAS实现,悲观锁适用于强一致性场景。 给出Redis优化三手段:分布式锁控制临界资源、Lua脚本保证原子操作、热点数据多级缓存,结合消息队列削峰填谷。 分层架构实践: 智

数据知道的博客 1690

【建议收藏】手把手教你画一个项目的技术架构图

本文相关资料下载 识别下方二维码,回复【架构】,获得下载链接。 之后会持续整理一些可下载的学习资料分享给大家,大家记得将公众号设置星标哦!更多资料获取、学习交流后台回复【加群】 ...

a934079371的博客 2万+

OpenCV实战(1)——OpenCV与图像处理基础

OpenCV 是一个跨平台计算机视觉和机器学习库,实现了图像处理和计算机视觉方面的很多通用算法。本节将介绍 OpenCV 的基础知识,以及如何编译运行 OpenCV 程序,并介绍如何完成最基本的图像处理任务——读取、显示和保存图像。除此之外,鼠标事件和图形绘制也是 OpenCV 计算机视觉项目中常用的基本功能,本节介绍了如何使用这两个重要的 OpenCV 功能。

盼小辉丶的博客 12万+

一张图解释清楚大数据技术架构,堪称阿里的核心机密

我们先来看看这张图,这是某公司使用的大数据平台架构图,大部分公司应该都差不多: 从这张大数据的整体架构图上看来,大数据的核心层应该是:数据采集层、数据存储与分析层、数据共享层、数据应用层,可能叫法有所不同,本质上的角色都大同小异。 所以我下面就按这张架构图上的线索,慢慢来剖析一下,大数据的核心技术都包括什么。 一、数据采集 数据采集的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。 数据源的种类比较多: 网站日志: 作为互联网行业,网站日志占的份额最大,网站

Leo的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

大数据之大数据技术架构

大数据,这个词现在对于我们来说已经是比较熟悉了,大数据的应用已经渗透到我们社会生活的方方面面,各个行业。最近,中央电视台纪录片频道正在热播的一部纪录片《大数据时代》,细致而生动地讲述了大数据技术在政府治理、民生服务、数据安全、工业转型、未来生活等方面带来的改变和影响。大数据现在已经成了一种全新的思维方式和商业模式。我们已经进入一个大数据时代,这个无需置疑。 其实,大数据比我们想象中的还要复...

mjzhlstk的专栏 3万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

大数据技术架构

①Hadoop集群特点:高可靠性、高效性、高可拓展性、高容错性、成本低、运行在Linux操作系统上、支持多种编程语言④分布式文件系统HDFS的特点:透明性、高可用性、支持并发访问、可拓展性。

weixin_62224014的博客 2792

大数据技术的主要方向及其应用详解

大数据技术已成为数字经济的核心驱动力,具有“5V”特征:大量、高速、多样、真实性和价值。其应用涵盖多个专业方向,包括存储与管理、处理与分析、机器学习、可视化以及安全与治理。在存储与管理方面,分布式文件系统(如HDFS、Ceph)和NoSQL数据库(如MongoDB、Redis)是关键技术,支持海量数据的存储与高效访问。数据处理与分析方向包括批处理(如MapReduce、Spark)、流处理(如Flink、Kafka Streams)和交互式分析(如Presto、ClickHouse),满足不同场景下的数据处

百锦再的博客 1万+

AI大数据平台架构图:引领AI与大数据技术融合的架构设计

AI大数据平台架构图:引领AI与大数据技术融合的架构设计 【下载地址】AI大数据平台架构图 这份AI大数据平台架构图全面展示了人工智能与大数据技术的深度结合,从数据采集、存储、处理到分析、展现和应用的完整流程一目了然。它详细描绘了数据源接入层、数据存储层、数据处理层、数据分析层、数据应用层及平台管理与服务层的关键架构,清...

gitblog_06775的博客 402

大数据技术栈详解

相信很多学Java的同学都有想转大数据或者学大数据的想法,但是一看到网上那些大数据的技术栈,就一脸懵逼,什么Hadoop、HDFS、MapReduce、Hive、Kafka、Zookeeper、HBase、Sqoop、Flume、Spark、Storm、Flink等等技术。 童鞋们可能一下子就慌了,像学Java的也就SSM、Springboot、Spring Cloud、MySQL这些,线...

林老师带你学编程 5166

大数据技术体系笔记——概述

本系列文章按照大数据五层架构介绍整个大数据技术体系,即 数据收集→数据存储→资源管理与服务协调→计算引擎→数据分析。 文章目录一、总体概述1、大数据技术体系概述2、大数据技术体系(1)数据收集层(2)数据存储层(3)资源管理与服务协调层(4)计算引擎层(5)数据分析层(6)数据可视化层二、企业级大数据技术实现方案1、Google大数据技术栈2、Hadoop与Spark开源大数据技术栈(1)数据收集层(2)数据存储层(3)资源管理与服务协调(4)计算引擎层(5)数据分析层三、大数据Lambda架构 一、总.

盛夏光年 7353

《大数据技术体系详解》笔记(一)

大数据技术体系 文章目录大数据技术体系1、概述企业级大数据体系Google大数据技术栈Hadoop与Spark开源大数据技术栈大数据架构2、关系型数据库采集Sqoop1架构Sqoop2架构CDC(增量数据收集)应用场景开源实现Canal多机房同步系统Otter3、非关系型数据库采集Flume基本思想和特点基本架构Agent构造Flume高阶组件数据流构建方法如何构建数据流获取方式常见拓扑架构 1、概述 企业级大数据体系 Google大数据技术栈 Hadoop与Spark开源大数据技术栈 大数据架构

Hornsey的博客 1076

大数据技术架构演化

企业构建大数据技术体系时,会在一级架构的范围内,结合业务需要和未来规划目标,选择部分技术组件进行落地。构建初期,一般会通过CDH或HDP的产品套件,来完成数据采集(Sqoop、Flume)、数据存储(HDFS)、资源调度(Yarn)、分布式计算引擎(hive、spark)、集群管理(Ambari/CM)、安全能力(Ranger、kerberos、ldap)的快速引入,这时就已经具备基本的大数据服务能力。接下来,企业需要根据数据需求、完成数据架构的设计,在数据架构落地过程中,会对技术组件进行深度使用。

数字化时代下,新IT人的转型之路 2251

大数据技术全景解析:从概念到实践的全栈指南

在数字化转型浪潮中,大数据技术已成为企业核心竞争力。本文将系统解析大数据技术的核心概念、技术架构、关键组件及实践应用,通过详细的架构图和对比分析,帮助读者构建完整的大数据知识体系。大数据是指无法在合理时间内用传统软件工具进行捕捉、管理和处理的海量、高增长率和多样化的信息资产。其核心特征通常用5V模型来描述:fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1万+
上一篇: 就这样,,,进字节了?
下一篇: Elasticsearch近实时搜索的实现
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值