spark和hadoop比较

来源知乎

计算模型:hadoop-MapReduce,Spark-DAG(有向无环图)
评注:经常有人说Spark就是内存版的MapReduce,实际上不是的。Spark使用的DAG计算模型可以有效的减少Map和Reduce人物之间传递的数据,尤其适合反复迭代的机器学习场景。而Hadoop则更擅长批处理。不过Tez也是使用的DAG计算模型,他也是Hadoop,明眼人都知道DAG计算模型比MR更好。

存储:hadoop-HDFS, Spark-RDD,HDFS
评注:spark既可以仅用内存存储,也可以在HDFS上存储,即使Spark在HDFS上存储,DAG计算模型在迭代计算上还是比MR的更有效率。
我并不觉得这两个及系统又大多的矛盾,只不过Spark一直宣称比hadoop快而已。实际上从应用场景上区分,Hadoop更适合做批处理,而Spark更适合做需要反复迭代的机器学习。
 

hadoop:只提供两个操作,Map和Reduce,表达力欠缺。

spark:提供很多转换和动作,很多基本操作如Join,GroupBy已经在RDD转换和动作中实现。



原文地址:https://www.cnblogs.com/wuxiangli/p/7275889.html