Hadoop ,Mapreduce,Spark的区别

Hadoop ,Mapreduce,Spark的区别

1.Hadoop是一种用于处理和存储海量数据的分布式系统开源软件,核心部分为:HDFS,YARN,Mapreduce

  • HDFS是分布式文件系统,HDFS通过数据备份,并且把文件分块存储在不同的计算机节点上实现高容错性
  • YARN用于Hadoop的资源调度,作业调度,相当于Hadoop的操作系统
  • Mapreduce是分布式计算框架,由Map阶段(分配子任务到各个节点),Shuffle阶段(将Map结果排序,此阶段是系统自带的,使用者不能更改),Reduce阶段(将排序后的结果汇总)

2.Spark与Mapreduce类似,也是一种分布式计算框架,是一种与 Hadoop 相似的开源集群计算环境。与Mapreduce不同的是,Mapreduce需要将中间结果转化为文件存储在HDFS中,但Spark在处理数据时,将所有的中间结果存放在内存中,因此,Spark的性能相对于Mapreduce更高。
值得注意的是:Spark但仅仅只是中间结果存在内存,海量的大数据初始值以及得出的结果依然需要借助于HDFS来存储,因此“Spark是站在Hadoop的肩膀上起飞的”(偶然看到这句话,觉得挺有道理的)。

你可能感兴趣的:(hadoop,spark,hdfs,mapreduce)