【技术分享】Spark和Hadoop之间的区别

大数据开发中Spark和Hadoop作为辅助模块受到了很大的欢迎,但是Spark和Hadoop区别在哪?哪种更适合我们呢,一起了解一下它们之间的区别。

Hadoop还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度。Spark,则是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。

Spark与Hadoop的对比:

对比Hadoop:

性能上提升高于100倍。

Spark的中间数据存放在内存中,对于迭代运算的效率更高,进行批处理时更高效。

更低的延时。

Spark提供更多的数据操作类型,编程模型比Hadoop更灵活,开发效率更高。

更高的容错能力(血统机制)。

Hadoop存在如下一些缺点:

表达能力有限

磁盘IO开销大

延迟高

任务之间的衔接涉及IO开销

在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务

Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题。

相比于Hadoop MapReduce,Spark主要具有如下优点:

Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活。

Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高 Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制。  

使用Hadoop进行迭代计算非常耗资源。Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据。

原文发布于微信公众号 - 加米谷大数据(DtinoneBD)

原文发表时间:2018-12-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券