一、Hadoop架构
Hadoop提供了在集群机器中实现容错、并行处理框架,具有两个关键能力:
HDFS:分布式存储
MapReduce:分布式计算
二、Spark架构
Spark建立在Hadoop概念之上。
三、 Spark与Hadoop的区别
1. Spark在鸡群中每个机器节点上的内存(RAM)中保存数据
Hadoop在集群中每个机器节点的磁盘中保存数据
因此,Hadoop可以顺序访问数据,而Spark可以以任意顺序访问数据
Spark的关键好处在于交互式查询和迭代处理过程中在内存中缓存RDD。缓存起来的RDD可以避免每次重新处理父RDD链,而只需要直接返回父RDD计算后的缓存结果。
这意味着要用到spark基于内存的计算处理特性,要求集群中的机器内存要足够大。要是可用内存不够,那么spark就会优雅地溢出数据到磁盘,保证spark能继续运行。
2. Spark可以以任意顺序访问数据,支持交互式查询及迭代算法
Hadoop适合在一个大数据集上进行单词查询。如果要做交互查询,就需要重新从磁盘加在数据,再再次进行数据处理。