Spark与Hadoop对比
Posted 袁小丑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark与Hadoop对比相关的知识,希望对你有一定的参考价值。
一、运行速度方面:
Spark把中间数据放到内存中,迭代运算效率高。
Hadoop MapReduce将计算结果保存到磁盘上,这样会影响整体速度,而Spark支持DAG图的分布式并行计算的编程框架,减少了迭代过程中数据的落地,提高了处理效率。
二、容错方面:
Spark引进了弹性分布式数据集RDD 的概念,它是分布在一组节点中的只读对象集合,这些集合是弹性的,如果数据集一部分丢失,则可以数据衍生过程对它们进行重建。另外在RDD计算时可以通过CheckPoint来实现容错。
对于Hadoop来说也有容错机制,Hadoop2.0中引入了YARN资源管理组件,以及基于ZooKeeper组件,使得Hadoop同样具有一定的容错性。数据方面使用HDFS的容错机制保证数据完整性。
三、编程方面:
Spark提供的数据集操作类型有很多种,大致分为:转换操作和行动操作两大类,即对RDD的操作,RDD相关操作较多,这里不做表述。此外各个处理节点之间的通信模型不再像Hadoop只有Shuffle一种模式,用户可以命名、物化,控制中间结果的存储、分区等。
MapReduce编程方面操作就比较单一,总的来说只有Map和Reduce两个阶段。
以上是关于Spark与Hadoop对比的主要内容,如果未能解决你的问题,请参考以下文章
hadoop的mapReduce和Spark的shuffle过程的详解与对比及优化