Spark与MapReduce对比测评
基本原理方面
MapReduce
- 基于磁盘的大数据批量处理系统
- Map和Reduce阶段都是往磁盘读写
Spark
- 基于RDD(弹性分布式数据集)数据处理。RDD可以显示地(即可指定)存储到磁盘和内存中
总结:Spark比MR更灵活,更快速
模型方面
MapReduce
- 可以处理超大规模的数据
- 适合日志分析挖掘等
- 较少的迭代的长任务需求
- 结合了数据的分布式计算、存储
Spark
- 适合海量数据,但不适合超大规模(毕竟数据放在内存中)
- 适合数据挖掘(迭代中间结果放在内存中,迭代时很快)、机器学习等多轮迭代式计算任务
- 在处理上是分布式的,但在存储上数据来源于HDFS等第三方系统
总结:Spark在数据挖掘处理方面比MapReduce优越,但在大规模数据处理上,目前MR更适合。
容错性方面
数据的容错性、节点的容错性
MapReduce
- 数据的读和写都是往HDFS上,HDFS有很强的数据容错的措施
Spark
- 容错性建立在RDD的Linage上,重新构造RDD
总结:Spark在容错性方面并不比MapReduce优越