大数据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博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
相关推荐
xiaoxiaoxiaolll14 分钟前
《Light: Science & Applications》掺杂半导体超快光开关:强飞秒脉冲激励下的多尺度电子动力学
大数据·人工智能
confiself16 分钟前
树形思考研究进展
java·大数据·微服务
rhythm-ring19 分钟前
《第1篇:BCM硬件架构全景解析——从功能划分到芯片选型》
架构·汽车
LONGZETECH21 分钟前
传统实训 vs 仿真实训:从技术架构拆解新能源汽车教学的范式之变
c语言·3d·unity·架构·汽车
用户8740337391426 分钟前
超大规模 CI/CD 完整搭建指南(GitLab + K8s Runner + ArgoCD)
架构
盈飞无限1 小时前
AI智能SPC重构制程管控逻辑,打造质量硬核底座
大数据·人工智能·重构
qq_365185311 小时前
2026B 端工业抖音代运营公司测评:技术驱动破解制造企业获客困局
大数据·人工智能·物联网·制造
java1234_小锋1 小时前
【免费】基于Spark实时医疗健康数据监测与疾病预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
大数据·spark·kafka·实时医疗健康数据监测·实时疾病预测系统
人间凡尔赛1 小时前
2026 云原生“后容器时代“:WebAssembly 如何重构后端架构?
后端·云原生·架构
编程风暴2 小时前
数据分析实习投递渠道实操模板:回复率对比+匹配度自检表+case-by-case机制
大数据·数据挖掘·数据分析