概述
park比MapReduce快的原因
Spark是基于内存的,而MapReduce是基于磁盘的迭代
- MapReduce的设设计:中间结果保存在文件中,提高了可靠性,减少了内存占用。但是牺牲了性能。
- Spark的设计:数据在内存中进行交换,要快一些,但是内存这个东西,可靠性不如磁盘。所以性能方面比MapReduce要好。
DAG计算模型在迭代计算上还是比MapReduce的效率更高
有向无环图是指:一个图从顶点出发,无法再回到原点,那么这种图叫做有向无环图。
DAG计算模型在spark任务调度
Spark比MapReduce快的根本原因在于DAG计算模型,一般而言,DAG比MapReduce在大多数情况下可以减少shuffle次数,spark的DAG相当于一个改进版的MapReduce,如果计算不涉及其他节点进行数据交换,spark可以在内存中一次性完成这些操作,也就是中间结果无需落地磁盘,减少了磁盘IO的操作。但是,如果计算过程中涉及到计算交换,Spark也会把shuffle的数据写磁盘。
Spark比MapReduce快的主要原因是spark将反复用到的数据cache到内存中,减少数据加载耗时。
Spark是粗粒度资源调度,MapReduce是细粒度资源调度
Rdd的五大特性
- rdd是由一系列的partition组成
- 每一个函数或者算子实际上是作用在partition上的,
- Rdd之间具有相互依赖关系,
- 分区器是作用在(k,v)格式的rdd上的,分区器作用在shuffle的written阶段,决定了每一条记录写入哪一个分区
(k,v)格式的rdd:如果rdd中的数组是由二元对象组成的,这个rdd就是(k,v)格式的rdd
- 每个rdd都会提供最佳的计算位置,有利于计算数据的本地化,符合大数据的计算原则,计算向数据移动。
最后
以上就是故意老师为你收集整理的spark比MapReduce快的原因的全部内容,希望文章能够帮你解决spark比MapReduce快的原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复