[Hadoop

有在碰大数据的人一定都听过hadoop和spark,但常常会不清楚他们差别在哪里,他们彼此其实是互补的,所以还是要看个人需求。在了解的过程中,我有看到一些蛮好的说明,在这边做一些重点整理。

  • Spark因为其处理数据的方式不一样,会比MapReduce快上很多。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。


  • MapReduce是分步对数据进行处理的:从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群。

  • Spark会在内存中以接近“实时”的时间完成所有的数据分析:从集群中读取数据,完成所有必须的分析处理,将结果写回集群。

Hadoop Map Reduce的计算框架

Hadoop mapreduce在执行运算时,需要将中间产生的数据,保存在硬盘中。然而磁盘I/O往往是性能的瓶颈,因此会有读写数据延迟的问题。

Spark in-memory的计算框架

Spark是基于内存内的计算框架。Spark在运算时,将中间产生的数据暂存在内存中,因此可以加快执行速度。尤其需要反复操作的次数越多,所需读取的数据量越大,则越能看出Spark的性能。Spark在内存内执行程序。

参考数据

1.http://hadoopspark.blogspot.tw/2015/12/apache-spark.html
2.https://chu888chu888.gitbooks.io/hadoopstudy/content/Content/chapter1303.html