千锋扣丁学堂大数据培训之Spark和Hadoop架构区别详解

2019-08-09 15:17:28 3252浏览

今天千锋扣丁学堂大数据培训老师给大家分享一篇关于Spark和Hadoop的架构区别解读,首先总的来说,Spark采用更先进的架构,使得灵活性、易用性、性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高。我总结,具体表现在如下几个方面。


Q:Spark和Hadoop的架构区别

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

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

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

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

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

Q:Spark和Hadoop的操作模型区别

A:

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等多种。这些多种多样的数据集操作类型,给开发上层应用的用户提供了方便。

Q:spark中的RDD是什么,有哪些特性?

A:

Alistofpartitions:一个分区列表,RDD中的数据都存储在一个分区列表中

Afunctionforcomputingeachsplit:作用在每一个分区中的函数

AlistofdependenciesonotherRDDs:一个RDD依赖于其他多个RDD,这个点很重要,RDD的容错机制就是依据这个特性而来的

Optionally,aPartitionerforkey-valueRDDs(eg:tosaythattheRDDishash-partitioned):可选的,针对于kv类型的RDD才有这个特性,作用是决定了数据的来源以及数据处理后的去向

可选项,数据本地性,数据位置***

Q:概述一下spark中的常用算子区别(map,mapPartitions,foreach,foreachPatition)

A:map:用于遍历RDD,将函数应用于每一个元素,返回新的RDD(transformation算子)

foreach:用于遍历RDD,将函数应用于每一个元素,无返回值(action算子)

mapPatitions:用于遍历操作RDD中的每一个分区,返回生成一个新的RDD(transformation算子)

foreachPatition:用于遍历操作RDD中的每一个分区,无返回值(action算子)

总结:一般使用mapPatitions和foreachPatition算子比map和foreach更加高效,推荐使用。

以上就是关于千锋扣丁学堂大数据培训之Spark和Hadoop架构区别详解,想要了解更多关于大数据开发方面内容的小伙伴,请关注扣丁学堂大数据培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的大数据讲师为您指导,此外扣丁学堂老师精心推出的大数据视频教程定能让你快速掌握大数据从入门到精通开发实战技能。扣丁学堂大数据学习群:209080834。


扣丁学堂微信公众号                          Python全栈开发爬虫人工智能机器学习数据分析免费公开课直播间


      【关注微信公众号获取更多学习资料】         【扫码进入Python全栈开发免费公开课】



查看更多关于“大数据培训资讯”的相关文章>

标签: 大数据培训 大数据视频教程 大数据分析培训 大数据学习视频 Hadoop生态圈 数据结构 算法

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号