Spark与MR的区别

1. 速度

  • spark把运算的中间数据存放在内存中,迭代效率更高;
  • mapreduce的中间结果需要落盘,这样必然会涉及到IO,影响性能;

2. 容错性

  • spark容错性高,它通过弹性分布式数据集RDD来实现高效容错,RDD是一组分布式的存储在节点内存中的只读性质的数据集,这些集合是弹性的,某部分丢失或者出错,可以通过整个数据集的计算流程的血缘关系来重建。
  • mapreduce的容错只能重新计算,成本较高。

3. 适用性

  • spark更加通用,spark提供了transformation和action这两大类的多个API,另外还有流式处理sparkstreaming模块、图计算GraphX。
  • mapreduce只提供map和reduce两种操作,流计算以及其他模块的支持比较缺乏。

4. 框架和生态

  • Spark框架和生态更复杂适用范围更广,首先由RDD、血缘lineage、执行时的有向无环图DAG、stage划分等等,很多时候spark作业都需要根据不同的业务场景的需要进行调优,以达到性能要求。
  • MR框架及其生态相对较为简单,对性能的要求也相对小弱,但是运行很稳定,适合长期后台运行及离线海量数据挖掘。

5. 运行环境

  • spark大致有四种运行模式:local本地模式、standalone使用Spark自带的资源管理框架运行spark应用、yarn将spark应用提交到yarn上运行、mesos与yarn类似;
  • MR运行在yarn上
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值