大数据Spark(五十七):Spark运行架构与MapReduce区别

文章目录

Spark运行架构与MapReduce区别

一、Spark运行架构

二、Spark与MapReduce区别


Spark运行架构与MapReduce区别

一、Spark运行架构

  • Master:Spark集群中资源管理主节点,负责管理Worker节点。
  • Worker:Spark集群中资源管理的从节点,负责任务的运行。
  • Application:Spark用户运行程序,包含Driver端和在各个Worker运行的Executor端。
  • Driver:用来连接Worker的程序,Driver可以将Task发送到Worker节点处理这些数据。每个Spark Application都有独立的Driver,Driver负责任务(Tasks)的分发和结果回收。如果task的计算结果非常大就不要回收了,可能会造成oom。
  • Executor :Worker节点上运行的进程,负责执行Task,将数据存储在内存或者磁盘中,并将结果返回给Driver。每个Application都有各自独立的一批Executors。
  • Task:被发送到某个Executor上的工作单元。

二、Spark与MapReduce区别

Apache Spark 和 Hadoop MapReduce 都是用于大规模数据处理的分布式计算框架,但它们在架构设计、数据处理方式和应用场景等方面存在显著差异。以下是两者的主要区别:

1) 数据处理方式

MapReduce:采用基于磁盘的处理方式,每个任务的中间结果需要写入磁盘,然后再读取进行下一步处理。这种方式增加了磁盘 I/O 操作,导致处理速度较慢。

Spark:利用内存进行数据处理,将中间结果存储在内存中,减少了磁盘读写操作,从而显著提高了处理速度。特别是在需要多次迭代计算的场景下,Spark 的性能优势更加明显。

2) 编程模型

MapReduce:提供了相对低级的编程接口,主要包含 Map 和 Reduce 两个操作,开发者需要编写较多的代码来实现复杂的数据处理逻辑。

Spark:提供了更高级的编程接口,如 RDD(弹性分布式数据集)和 DataFrame,支持丰富的操作算子,使得开发者可以以更简洁的方式编写复杂的处理逻辑。此外,Spark支持SQL处理批/流数据。

3) 任务调度

MapReduce:采用多进程模型,每个Task任务作为一个独立的JVM进程运行。

Spark:采用多线程模型,在同一个进程中管理多个Task任务,资源调度更为高效。

4) 资源申请

MapReduce:采用细粒度资源调度,每个 MapReduce Job 运行前申请资源,Job运行完释放资源。如果一个Application中有多个 MapReduce Job,每个Job独立申请和释放资源。

Spark:采用粗粒度资源调度。Application运行前,为所有的Spark Job申请资源,所有Job执行完成后,统一释放资源。

5) 数据处理能力

MapReduce:主要用于批处理任务,不适合实时数据处理。

Spark:适用于批量/实时数据处理。通过 SparkStreaming 和 StructuredStreaming 模块,支持实时数据流处理。

6) 容错机制

MapReduce:通过将中间结果写入磁盘,实现任务失败后的重试和恢复。

Spark:采用 RDD 的血统(lineage)机制,记录数据集的生成过程。当节点发生故障时,Spark 可以根据血统信息重新计算丢失的数据分区,实现高效的容错。


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
相关推荐
Robot侠1 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
技术钱2 小时前
vue3解决大数据加载页面卡顿问题
大数据
Loo国昌3 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
tap.AI4 小时前
RAG系列(一) 架构基础与原理
人工智能·架构
The Open Group4 小时前
架构:不仅仅是建模,而是一种思维
架构
福客AI智能客服4 小时前
从被动响应到主动赋能:家具行业客服机器人的革新路径
大数据·人工智能
Solar20255 小时前
TOB企业智能获客新范式:基于数据驱动与AI的销售线索挖掘与孵化架构实践
人工智能·架构
小五传输6 小时前
隔离网闸的作用是什么?新型网闸如何构筑“数字护城河”?
大数据·运维·安全
jkyy20146 小时前
AI健康医疗开放平台:企业健康业务的“新基建”
大数据·人工智能·科技·健康医疗
蚁巡信息巡查系统6 小时前
政府网站与政务新媒体检查指标抽查通报如何面对
大数据·内容运营