【问题标题】:Spark vs MapReduce , why is Spark faster than MR ,the principle?Spark vs MapReduce,为什么 Spark 比 MR 快,原理?
【发布时间】:2014-08-19 02:48:44
【问题描述】:

据我所知,Spark 将每个节点的磁盘(HDFS)中的数据预加载到每个节点的 RDD 中进行计算。但正如我猜测的那样,MapReduce 必须将数据从 HDFS 加载到内存中,然后在内存中进行计算。那么.. 为什么 Spark 更快? 只是因为每次 MapReduce 想要进行计算而 Spark 预加载数据时,MapReduce 都会将数据加载到内存中?非常感谢。

【问题讨论】:

标签: hadoop mapreduce apache-spark


【解决方案1】:

Spark 使用了弹性分布式数据集 (RDD) 的概念,它允许将数据透明地存储在内存上,并在需要时将其持久化到磁盘上。

另一方面,在 Map 和 reduce 任务之后的 Map reduce 中,数据将被打乱和排序(同步屏障)并写入磁盘。

在 Spark 中,没有降低 map-reduce 速度的同步障碍。并且内存的使用使得执行引擎非常快。

【讨论】:

  • spark 中还有一个 shuffle,实际上我相信他们最近才在 memory shuffle 中实现,在它还创建文件之前
  • 查看 this paper 了解 spark 的 shuffle 问题的一些示例,它实际上暂时比 Hadoop 更糟糕
【解决方案2】:

Hadoop 映射减少

  1. Hadoop Map Reduce 是批处理

2.在 HDFS 中的高延迟。这是关于Hadoop MapReduce和Spark的完整解释

http://commandstech.com/basic-difference-between-spark-and-map-reduce-with-examples/

火花:

  1. 来到 Spark 的是流式处理

  2. RDD 带来的低延迟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多