主页 > 新闻资讯 > Spark和Hadoop的区别:Spark和Hadoop架构解析

Spark和Hadoop的区别:Spark和Hadoop架构解析

作者:张老师 浏览次数: 2020-01-13 11:53
在大数据处理框架上,Spark和Hadoop是众所周知的两个代表,几乎只要提到大数据处理系统框架,就离不开Spark和Hadoop这两者。因此很多人在学习的时候,常常产生这样的疑问,Spark和Hadoop的区别到底在哪里,今天我们就从架构方面来分享一些知识。

首先,先抛出总的区别,Spark和Hadoop两者之间,Hadoop具有比较稳定成熟的架构体系,针对于大部分的大数据处理任务都能提供相应的解决方案,而Spark是在Hadoop现有的不足的基础上,进行的一定程度上的补充,灵活性和易用性很好,但是稳定性还有待提高。

Spark和Hadoop的区别

在整体架构上,Hadoop自身的数据处理,主要是依靠MapReduce来进行,将大规模数据处理任务进行分解,分别完成之后,再进行结果整合输出。MapRedcue由Map和Reduce两个阶段,并通过shuffle将两个阶段连接起来的,完成数据计算任务。

而Spark,是采用的通用的DAG框架,将Map和Reduce两个操作进一步拆分为多个元操作,这些元操作可以灵活组合,产生新的操作,并经过一些控制程序组装后形成一个大的DAG作业。

在中间计算结果的处理上,Hadoop MapReduce由于有多个MapReduce作业组成,每个作业都会从HDFS上读取一次数据和写一次数据(默认写三份),即使这些MapReduce作业产生的数据是中间数据也需要写HDFS。因此,MapReduce在数据处理上,耗费的系统资源会更高。

而Spark,由于采取的内存计算,在内存足够的情况下,优先使用HDFS存储中间结果,所以迭代运算效率更高,对于大规模实时数据的处理有更好的表现。

在操作类型上,Hadoop值提供Map和Reduce两种操作,所以所有的Hadoop数据处理任务,都需要转换成Map和Reduce操作来进行。

而Spark,提供多种数据集操作类型,包括map、filter、flatMap、sample、groupByKey、reduceByKey、union、join等,这对于开发生成应用的应用提供了更方便的操作。

关于Spark和Hadoop的区别,其实通过上面这些内容我们可以发现,两者各有优势,也各有局限,在大数据处理任务上,都并非完美,这也是为什么这两者在现阶段的大数据处理上,都有一定的地位。成都加米谷大数据,大数据技术知识分享,大数据课程培训,更多详情可联系客服了解!
热点排行
推荐文章
立即申请>>