专栏名称: 网络大数据
打造中国最专业的网络大数据科学门户网站,提供新闻动态、研究资料、测量工具、数据报告、在线测量等各项信息及服务,供IDC,CDN,ICP和普通大众共同学习进步。
目录
相关文章推荐
数据派THU  ·  【ICLR2025】无噪声自我运动与噪声视频 ... ·  昨天  
CDA数据分析师  ·  【内推】银行初级金融数据分析师 ·  昨天  
数据派THU  ·  使用Python实现基于矩阵分解的长期事件( ... ·  6 天前  
数据派THU  ·  【ICLR2025】流媒体视频理解与多轮交互 ... ·  5 天前  
51好读  ›  专栏  ›  网络大数据

Spark和Hadoop的架构区别解读

网络大数据  · 公众号  · 大数据  · 2019-07-17 17:16

正文



总的来说,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:

  • 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更加高效,推荐使用。

往期精彩回顾

最严《数据安全管理办法》征求意见 科技圈哀嚎声一片

一文解读"互联网女皇”-2019年互联网趋势报告

17款数据可视化工具,让你的数据更美观!

全球视角下:中美科技实力对比

2019年中国智慧城市发展报告

2018







请到「今天看啥」查看全文