Spark相对于MapReduce的优势

Posted deadend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark相对于MapReduce的优势相关的知识,希望对你有一定的参考价值。

MapReduce存在的问题

1. MapReduce框架局限性

  1)仅支持Map和Reduce两种操作

  2)处理效率低效。

    a)Map中间结果写磁盘,Reduce写HDFS,多个MR之间通过HDFS交换数据; 任务调度和启动开销大;

    b)无法充分利用内存

    c)Map端和Reduce端均需要排序

  3)不适合迭代计算(如机器学习、图计算等),交互式处理(数据挖掘) 和流式处理(点击日志分析)

2. MapReduce编程不够灵活

  1)尝试scala函数式编程语言

 

Spark

1. 高效(比MapReduce快10~100倍)

  1)内存计算引擎,提供Cache机制来支持需要反复迭代计算或者多次数据共享,减少数据读取的IO开销

  2)DAG引擎,减少多次计算之间中间结果写到HDFS的开销

  3)使用多线程池模型来减少task启动开稍,shuffle过程中避免 不必要的sort操作以及减少磁盘IO操作

2. 易用

  1)提供了丰富的API,支持Java,Scala,Python和R四种语言

  2)代码量比MapReduce少2~5倍

3. 与Hadoop集成 读写HDFS/Hbase 与YARN集成 

以上是关于Spark相对于MapReduce的优势的主要内容,如果未能解决你的问题,请参考以下文章

MapReduce和Spark写入Hbase多表总结

Spark和MapReduce相比,有哪些优势?

Flink Kafka Stream 相对于 Spark Kafka Stream 的优势? Flink 上的 Kafka Stream 呢? [关闭]

Spark VS MapReduce 时间节约66%,计算节约40%

Spark 系列—— Spark 简介

Spark 系列—— Spark 简介