总的来说,Spark采用更先进的架构,使得灵活性、易用性、性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高。我总结,具体表现在如下几个方面。

Spark和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:

A list of partitions:一个分区列表,RDD中的数据都存储在一个分区列表中 A function for computing each split:作用在每一个分区中的函数 A list of dependencies on other RDDs:一个RDD依赖于其他多个RDD,这个点很重要,RDD的容错机制就是依据这个特性而来的 Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-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更加高效,推荐使用。

【凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。】

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2023-04-11 11:16:48
国际资讯 新西兰电信公司Spark斥资2.21亿美元用于数据中心和5G新计划
Spark主席史密斯在当地时间5日的简报会上公布了新战略,他表示 Spark 在过去三年中通过新技术和简化实现了增长,现在能够为未来的扩张进行投资。 <详情>
2021-12-07 11:35:00
大数据技术 ClickHouse vs StarRocks选型对比
一般来说,ClickHouse适合于维度变化较少的拼宽表的场景,StarRocks不仅在单表的测试中有着更出色的表现,在多表关联的场景具有更大的优势。 <详情>
2021-08-25 11:24:23
大数据资讯 Hadoop大数据“存算分离”,柏科数据 ISCloud分布式存储"提质增效"
业内新扩容方式“存算分离”架构的优势逐渐明显,“存算分离”成了大数据架构发展的必然趋势,成了解决行业用户在使用Hadoop时,面临计算资源浪费、存储性能低、管理成本过 <详情>
2021-05-07 11:11:30
云资讯 随着云计算等颠覆性技术的出现Hadoop将会过时
Hadoop是一个开源软件框架,它在近十年前开始流行。 <详情>
2020-11-26 09:44:25
大数据技术 学大数据需要具备什么基础和知识点?
学大数据基础包含涵盖大数据体系中的技术点,包括但不限于Linux、Zookeeper、Hadoop、Yam、Redis、HDFS、MapReduce、Hive、lmpala、Hue、Oozie、Storm、Kafka、Spark、Soar <详情>