主页 > 新闻资讯 > 大数据培训:Spark和Hadoop的架构区别

大数据培训:Spark和Hadoop的架构区别

作者:张老师 浏览次数: 2020-11-19 16:45
大数据技术发展流程当中,Hadoop和Spark这两个框架,发展至今仍然占据着重要的地位,当然,这两者也常常也拿来做比较。作为初代的Hadoop和后来者的Spark,两者之间确实也各有其优势。那么今天的大数据培训分享,我们来聊聊Spark和Hadoop的架构区别。

大数据培训:Spark和Hadoop的架构区别

从产生的先后顺序来说,Hadoop无疑是更加“年长”的一个框架,而Spark,其实是在看到了Hadoop在实际应用当中的缺陷和不足,而“去其糟粕,取其精华”的框架。

Spark和Hadoop的架构区别

Hadoop:MapRedcue由Map和Reduce两个阶段,并通过shuffle将两个阶段连接起来的。但是套用MapReduce模型解决问题,不得不将问题分解为若干个有依赖关系的子问题,每个子问题对应一个MapReduce作业,最终所有这些作业形成一个DAG。

Spark:是通用的DAG框架,可以将多个有依赖关系的作业转换为一个大的DAG。核心思想是将Map和Reduce两个操作进一步拆分为多个元操作,这些元操作可以灵活组合,产生新的操作,并经过一些控制程序组装后形成一个大的DAG作业。

Spark和Hadoop的中间计算结果处理区别

Hadoop:在DAG中,由于有多个MapReduce作业组成,每个作业都会从HDFS上读取一次数据和写一次数据(默认写三份),即使这些MapReduce作业产生的数据是中间数据也需要写HDFS。这种表达作业依赖关系的方式比较低效,会浪费大量不必要的磁盘和网络IO,根本原因是作业之间产生的数据不是直接流动的,而是借助HDFS作为共享数据存储系统。

Spark:在Spark中,使用内存(内存不够使用本地磁盘)替代了使用HDFS存储中间结果。对于迭代运算效率更高。

Spark和Hadoop的操作模型区别

Hadoop:只提供了Map和Reduce两种操作,所有的作业都得转换成Map和Reduce的操作。

Spark:提供很多种的数据集操作类型比如Transformations包括map、filter、flatMap、sample、groupByKey、reduceByKey、union、join、cogroup、mapValues、sort、partionBy等多种操作类型,还提供Actions操作包括Count、collect、reduce、lookup、save等多种。这些多种多样的数据集操作类型,给开发上层应用提供了方便。

关于大数据培训,Spark和Hadoop的架构区别,以上就为大家做了简单的介绍了。Spark和Hadoop两个框架,至今仍在大数据当中占据重要地位,二者也有着各自不可替代的优势所在。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,本月正在招生中,课程大纲及试听视频,可联系客服领取!
热点排行
推荐文章
立即申请>>