Hadoop和Spark是两个不同的分布式软件框架



Hadoop和Spark是两个不同的分布式软件框架。hadoop是一个MapReduce框架,在这个框架上可以运行支持map(),combine(),reduce()函数的作业。mapreduce的范式很适合单趟计算【先map,再reduce】,不过对于多趟算法的效率还是很低。


spark不是一个mapreduce的框架,不过很容易用来支持mapreduce的框架的功能,他提供了一个适当的API可以处理map和reduce的功能。spark并不限于先完成映射阶段在完成归约阶段。spark作业可以是由映射和/或归约/洗牌阶段构成的一个任意DAG(有向无环图)。spark程序可以使用hadoop运行,也可以不适用hadoop,另外spark可以使用hadoop分布式文件系统HDFS,或者其他持久存储来实现输入和输出。基在本上,对于一个给定的spark程序或者作业,spark引擎会创建将在集群上完成的任务阶段所构成的有向无环图。hadoop和mapreduce则不同,他会创建由两个预定义阶段构成的有向无环图。注意,spark创建的DAG可以包含任意多个阶段。相比hadoop和mapreduce,spark的API提供了更高层的抽象。这使得spark的代码更加简洁。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章