网上查阅一些资料,收集整理如下: 1. 通用性 spark更加通用,spark提供了transformation和action这两大类的多个功能api,另外还有流式处理sparkstreaming模块.图计算GraphX等等:mapreduce只提供了map和reduce两种操作,流计算以及其他模块的支持比较缺乏. 2. 内存利用和磁盘开销 MapReduce的设计:中间结果需要写磁盘,Reduce写HDFS,多个MR之间通过HDFS交换数据,,可以提高可靠性,减少内存占用,但是牺牲了性能. S