- RDD缓存,RDD计算是可以设置缓存的,Spark把运算的中间数据存放在内存,迭代计算效率更高。
- Map缓存,Map的结果也是会被缓存的,以便以后利用
- Spark容错性好,弹性数据集可以进行计算重建,MR的容错只能重新计算。
- 对Shuffle操作的优化,生成的中间文件减少了,那么磁盘IO就会减少,Spark计算对内存的利用和运行的并行度比MR高。
- 由于MapReduce会对中间数据进行排序,所以Reduce操作必须等到文件全部生成并进行排序之后才可以进行。Spark不是这种自动排序,因此可以生成一点,刷新ShuffleMapTask缓冲区到文件中,然后直接进行Reduce。
- Spark对于Executor的优化,在JVM虚拟机的基础上对内存弹性利用,使得内存利用率更高。
Spark为什么比MapReduce快
最新推荐文章于 2024-06-29 07:15:00 发布