美文网首页
Spark比MapReduce运行速度快多少?

Spark比MapReduce运行速度快多少?

作者: liuzx32 | 来源:发表于2019-06-14 10:42 被阅读0次

    根据经验,企业所做出的基准测试报告一般都是不可信的!一般独立的第三方基准测试报告是比较可信的,比如:TPC-H。他们的基准测试报告一般会覆盖绝大部分场景,以便真实地展示结果。

    Spark比MapReduce运行速度快的原因主要包括以下几点:

    1. Task启动时间比较快,Spark是fork出线程;而MR是启动一个新的进程;
    2. 更快的shuffles,Spark只有在shuffle的时候才会将数据放在磁盘,而MR却不是。
    3. 更快的工作流:典型的MR工作流是由很多MR作业组成的,他们之间的数据交互需要把数据持久化到磁盘才可以;而Spark支持DAG以及pipelining,在没有遇到shuffle完全可以不把数据缓存到磁盘。
    4. 缓存:虽然目前HDFS也支持缓存,但是一般来说,Spark的缓存功能更加高效,特别是在SparkSQL中,我们可以将数据以列式的形式储存在内存中。

    1. 所有的这些原因才使得Spark相比Hadoop拥有更好的性能表现;在比较短的作业确实能快上100倍,但是在真实的生产环境下,一般只会快 2.5x ~ 3x!


    事实上,Spark并没有引入任何革命性的新技术!
    其擅长的LRU缓存策略和数据的pipelining处理其实在MPP数据库中早就存在!Spark做出重要的一步是使用开源的方式来实现它!并且企业可以免费地使用它。
    大部分企业势必会选择开源的Spark技术,而不是付费的MPP技术。

    相关文章

      网友评论

          本文标题:Spark比MapReduce运行速度快多少?

          本文链接:https://www.haomeiwen.com/subject/wzkufctx.html