Spark比MapReduce快的原因

Spark比MapReduce快的原因

① Spark支持DAG

  • 每个MapReduce只有两个阶段:Map、Reduce
  • Spark支持DAG,可以有任意多个阶段

② Spark的Shuffle更智能

  • MR的Shuffle过程一定会经过分区、排序、分组这几个过程
  • Spark有多种Shuffle机制,过程不是固定的,灵活选择

③ Spark的Task是线程级别

  • MR将Task分为两种进程:MapTask进程结束,再启动ReduceTask进程【JVM重用】
  • Spark的进程只有一种,只申请一次,所有任务都以Task的方式直接分配在进程中运行
区别MapReduceSpark
计算流程结构1个Map +1个Reduce,每步结果都必须进入磁盘支持DAG,一个程序中可以有多个Map、Reduce过程,多个Map之间的操作可以直接在内存中完成
Shuffle 过程分区、排序、分组会根据具体的操作来经过不同的过程
Task运行方式进程:MapTask、ReduceTask进程只启动一次:所有Task都以线程方式存在,不需要频繁启动、申请资源
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值