【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)

这篇具有很好参考价值的文章主要介绍了【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Spark概述

Spark最初由美国加州伯克利大学(UCBerkeley)的AMP(Algorithms, Machines and People)实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。Spark在诞生之初属于研究性项目,其诸多核心理念均源自学术研究论文。2013年,Spark加入Apache孵化器项目后,开始获得迅猛的发展,如今已成为Apache软件基金会最重要的三大分布式计算系统开源项目之一(即Hadoop、Spark、Storm)

二、Spark的特点

Spark计算框架在处理数据时,所有的中间数据都保存在内存中,从而减少磁盘读写操作,提高框架计算效率。同时Spark还兼容HDFS、Hive,可以很好地与Hadoop系统融合,从而弥补MapReduce高延迟的性能缺点。所以说,Spark是一个更加快速、高效的大数据计算平台。

特点可以概括为以下四点

1:运行速度快

2:容易使用

3:通用性

4:运行模式多样

Spark支持使用Scala Java Python和R语言编程,由于Spark采用Scala语言进行开发,因此建议采用Scala语言进行Spark应用程序的编写,采用Scala语言编写Spark应用程序,可以获得最好的性能,和其他语言相比,Scala主要有以下三个方面的优势

1:Java代码比较繁琐

2:Python语言并发性能不好

3:Scala兼容Java 

三、Spark生态系统

Spark在2013年加入Apache孵化器项目,之后获得迅猛的发展,并于2014年正式成为Apache软件基金会的顶级项目。Spark生态系统已经发展成为一个可应用于大规模数据处理的统一分析引擎,它是基于内存计算的大数据并行计算框架,适用于各种各样的分布式平台的系统。在Spark生态圈中包含了Spark SQL、Spark Streaming、GraphX、MLlib等组件。

hadoop spark,大数据技术Hadoop+Spark,大数据,spark,hadoop,分布式,架构

Spark Core:Spark核心组件,实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含对弹性分布式数据集的API定义。

Spark SQL:用来操作结构化数据的核心组件,通过Spark SQL可直接查询Hive、HBase等多种外部数据源中的数据。Spark SQL的重要特点是能够统一处理关系表和RDD。

Spark Streaming:Spark提供的流式计算框架,支持高吞吐量、可容错处理的实时流式数据处理,其核心原理是将流数据分解成一系列短小的批处理作业。

MLlib:Spark提供的关于机器学习功能的算法程序库,包括分类、回归、聚类、协同过滤算法等,还提供了模型评估、数据导入等额外的功能。

GraphX:Spark提供的分布式图处理框架,拥有对图计算和图挖掘算法的API接口及丰富的功能和运算符,便于对分布式图处理的需求,能在海量数据上运行复杂的图算法。

独立调度器、Yarn、Mesos:集群管理器,负责Spark框架高效地在一个到数千个节点之间进行伸缩计算的资源管理。

四、Spark与Hadoop对比

1:编程方式

Hadoop的MapReduce计算数据时,要转化为Map和Reduce两个过程,从而难以描述复杂的数据处理过程;而Spark的计算模型不局限于Map和Reduce操作,还提供了多种数据集的操作类型,编程模型比MapReduce更加灵活。

2:数据存储

Hadoop的MapReduce进行计算时,每次产生的中间结果都存储在本地磁盘中;而Spark在计算时产生的中间结果存储在内存中。

3:数据处理

Hadoop在每次执行数据处理时,都要从磁盘中加载数据,导致磁盘IO开销较大;而Spark在执行数据处理时,要将数据加载到内存中,直接在内存中加载中间结果数据集,减少了磁盘的IO开销。

4:数据容错

MapReduce计算的中间结果数据,保存在磁盘中,Hadoop底层实现了备份机制,从而保证了数据容错;Spark RDD实现了基于Lineage的容错机制和设置检查点方式的容错机制,弥补数据在内存处理时,因断电导致数据丢失的问题。

五、Spark的部署方式

hadoop spark,大数据技术Hadoop+Spark,大数据,spark,hadoop,分布式,架构

 1:Standalone模式

Standalone模式被称为集群单机模式。

该模式下,Spark集群架构为主从模式,即一台Master节点与多台Slave节点,Slave节点启动的进程名称为Worker,存在单点故障的问题。

2:Mesos模式

Mesos模式被称为Spark on Mesos模式。

Mesos是一款资源调度管理系统,为Spark提供服务,由于Spark与Mesos存在密切的关系,因此在设计Spark框架时充分考虑到对Mesos的集成。

3:Yarn模式

Yarn模式被称为Spark on Yarn模式,即把Spark作为一个客户端,将作业提交给Yarn服务。

由于在生产环境中,很多时候都要与Hadoop使用同一个集群,因此采用Yarn来管理资源调度,可以提高资源利用率。

六、Spark运行架构与原理

Spark运行架构主要由SparkContext、Cluster Manager和Worker组成,其中Cluster Manager负责整个集群的统一资源管理,Worker节点中的Executor是应用执行的主要进程,内部含有多个Task线程以及内存空间,

hadoop spark,大数据技术Hadoop+Spark,大数据,spark,hadoop,分布式,架构

七、Spark运行基本流程

Spark应用在集群上作为独立的进程组来运行,具体运行流程如下所示。

hadoop spark,大数据技术Hadoop+Spark,大数据,spark,hadoop,分布式,架构

 1)当一个Spark应用被提交时,根据提交参数创建Driver进程,为应用构建起基本的运行环境,即由Driver创建一个SparkContext进行资源的申请、任务的分配和监控。

2)SparkContext根据RDD的依赖关系构建DAG图,DAG图提交给DAGScheduler解析成Stage,然后把一个个TaskSet提交给底层调度器Task Scheduler处理。

3)资源管理器Cluster Manager为Executor分配资源,并启动Executor进程

4)Executor向SparkContext申请Task,TaskScheduler将Task发放给Executor运行并提供应用程序代码。

5)Task在Executor上运行把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源。

创作不易 觉得有帮助请点赞关注收藏~~~文章来源地址https://www.toymoban.com/news/detail-794717.html

到了这里,关于【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 处理大数据的基础架构,OLTP和OLAP的区别,数据库与Hadoop、Spark、Hive和Flink大数据技术

    2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库 这oracle比sql安全,强大多了,所以你需要学

    2024年02月08日
    浏览(57)
  • 大数据hadoop生态技术简介

    Hadoop 生态是指围绕 Hadoop 大数据处理平台形成的一系列开源软件和工具,用于支持大规模数据处理、存储、管理、分析和可视化等应用场景。暂时将其核心技术分为9类:  数据采集技术框架: Flume、Logstash、FileBeat;Sqoop和Datax; Cannal和Maxwell 数据存储技术框架:  HDFS、HBas

    2024年02月09日
    浏览(43)
  • 【云计算与大数据技术】大数据系统总体架构概述(Hadoop+MapReduce )

    企业级大数据应用框架需要满足业务的需求,一是要求能够满足基于数据容量大,数据类型多,数据流通快的大数据基本处理需求,能够支持大数据的采集,存储,处理和分析,二是要能够满足企业级应用在可用性,可靠性,可扩展性,容错性,安全性和隐私性等方面的基本

    2024年02月09日
    浏览(48)
  • 大数据技术原理与应用 实验6 Spark数据处理系统的搭建

    熟悉常用的Spark操作。 1.熟悉Spark Shell的使用; 2.熟悉常用的Spark RDD API、Spark SQL API和Spark DataFrames API。 操作系统:Linux Spark版本: 1.6 Hadoop版本: 3.3.0 JDK版本:1.8 使用Spark shell完成如下习题: a)读取Spark安装目录下的文件README.md(/usr/local/spark/README.md); b)统计包含“Spark”的单词

    2024年02月09日
    浏览(60)
  • 【Docker】Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作原理详细讲解

    前言 Docker 是一个 开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 作者简介: 辭七七,目前大一,正在学习

    2024年02月15日
    浏览(45)
  • 大数据导论——Hadoop生态系统

    Hadoop是Apache软件基金会旗下一个开源分布式计算平台,为用户提供底层细节透明的基础框架。 经过多年的发展,Hadoop生态系统不断完善和成熟,目前已经包含了多个子项目,除了核心的HDFS和MapReduce以外,Hadoop生态系统还包括ZooKeeper,HBase,Hive,Pig,Mahout,Sqoop,Flume,Ambari等。 它实现

    2024年02月03日
    浏览(41)
  • 【Docker】Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作原理的详细讲解

    前言 Docker 是一个 开源的应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux或Windows 操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 📕作者简介: 热爱跑步的恒川 ,致力于

    2024年02月09日
    浏览(49)
  • 一文搞懂什么是Hadoop?Hadoop的前世今生,Hadoop的优点有哪些?Hadoop面试考查重点,大数据技术生态体系

    目录 1.1 Hadoop 是什么  1.2 Hadoop 发展历史 1.3 Hadoop 三大发行版本  1.4 Hadoop优势(4高)  1.5 Hadoop 组成(面试重点)  1.5.1 HDFS 架构概述   1.5.2 YARN 架构概述   1.5.3 MapReduce 架构概述   1.5.4 HDFS、YARN、MapReduce 三者关系   1.6 大数据技术生态体系  1.7 推荐系统框架图   (1 ) Had

    2024年02月01日
    浏览(47)
  • 【大数据】图解 Hadoop 生态系统及其组件

    在了解 Hadoop 生态系统及其组件之前,我们首先了解一下 Hadoop 的三大组件,即 HDFS、MapReduce、YARN,它们共同构成了 Hadoop 分布式计算框架的 核心 。 HDFS ( Hadoop Distributed File System ):HDFS 是 Hadoop 的 分布式文件系统 ,它是将大规模数据分散存储在多个节点上的基础。HDFS 主要

    2024年02月11日
    浏览(44)
  • Hadoop生态系统中的大数据基础知识教程

    作者:禅与计算机程序设计艺术 “Hadoop”是一个开源的分布式计算框架,基于云计算平台构建,提供海量数据的存储、分析处理和计算能力,广泛应用于金融、电信、互联网、移动通信等领域。Hadoop生态系统中存在大量的工程师和科学家,但这些人的水平参差不齐,各有所长

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包