Spark为什么比MapReduce快

  1. RDD缓存,RDD计算是可以设置缓存的,Spark把运算的中间数据存放在内存,迭代计算效率更高。
  2. Map缓存,Map的结果也是会被缓存的,以便以后利用
  3. Spark容错性好,弹性数据集可以进行计算重建,MR的容错只能重新计算。
  4. 对Shuffle操作的优化,生成的中间文件减少了,那么磁盘IO就会减少,Spark计算对内存的利用和运行的并行度比MR高。
  5. 由于MapReduce会对中间数据进行排序,所以Reduce操作必须等到文件全部生成并进行排序之后才可以进行。Spark不是这种自动排序,因此可以生成一点,刷新ShuffleMapTask缓冲区到文件中,然后直接进行Reduce。
  6. Spark对于Executor的优化,在JVM虚拟机的基础上对内存弹性利用,使得内存利用率更高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值