spark部分:spark的四种运行模式,Spark 比 MapReduce 快的原因,spark执行程序流程,spark算子种类,spark持久化算子,cache 和 persist,调节参数的方式

本文详细介绍了Spark的四种运行模式:local、standalone、yarn和mesos。对比了Spark与MapReduce的性能差异,指出Spark的内存迭代、DAG计算模型以及粗粒度资源调度是其速度更快的主要原因。同时,文章还阐述了Spark执行程序的流程、算子种类、持久化策略如cache和persist,以及shuffle调优的相关参数配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spark 有 4 中运行模式:

1. local 模式,适用于测试

2. standalone,并非是单节点,而是使用 spark 自带的资源调度框架

3. yarn,最流行的方式,使用 yarn 集群调度资源

4. mesos,国外使用的多

Spark 比 MapReduce 快的原因

1. Spark 基于内存迭代,而 MapReduce 基于磁盘迭代

MapReduce 的设计:中间结果保存到文件,可以提高可靠性,减少内存占用,但是牺 牲了性能。

Spark 的设计:数据在内存中进行交换,要快一些,但是内存这个东西,可靠性比不过 MapReduce。

2. DAG 计算模型在迭代计算上还是比 MR 的更有效率。 在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是 一个有向无环图(DAG)

DAG 计算模型在 Spark 任务调度中详解! Spark 计算比 MapReduce 快的根本原因在于 DAG 计算模型。

一般而言,DAG 相比 MapReduce 在大多数情况下可以减少 shuffle 次数。Spark 的 DAGScheduler 相当于一个改进 版的 MapReduce,如果计算不涉及与其他节点进行数据交换,Spark 可以在内存中一次性 完成这些操作,也就是中间结果无须落盘,减少了磁盘 IO 的操作。但是,如果计算过程中 涉及数据交换,Spark 也是会把 shuffle 的数据写磁盘的!

有一个误区,Spark 是基于内存的 计算,所以快,这不是主要原因,要对数据做计算,必然得加载到内存,Hadoop 也是如 此,只不过 Spark 支持将需要反复用到的数据给 Cache 到内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值