0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快速学习Spark和Hadoop的架构的方法

IT家园 2019-07-18 09:42 次阅读

Spark和Hadoop的架构区别是什么,什么是spark,什么是Hadoop,怎么样学习这些知识点?

总的来说,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更加高效,推荐使用。如果你想要学好编程技能,请留意内蒙达内官网,学习技能快,我们只选对的机构!



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Hadoop
    +关注

    关注

    1

    文章

    90

    浏览量

    15895
  • SPARK
    +关注

    关注

    1

    文章

    104

    浏览量

    19807
收藏 人收藏

    评论

    相关推荐

    深度学习中的时间序列分类方法

    的发展,基于深度 学习的TSC 方法逐渐展现出其强大的自动特征提取和分类能力。本文将从多个角度对深度 学习在时间序列分类中的应用进行综述,探讨常用的深度 学习模型及其改进
    的头像 发表于07-09 15:54 266次阅读

    spark运行的基本流程

    前言: 由于最近对 spark的运行流程非常感兴趣,所以阅读了《 Spark大数据处理:技术、应用与性能优化》一书。通过这本书的 学习,了解了 spark的核心技术、实际应用场景以及性能优化的
    的头像 发表于07-02 10:31 200次阅读
    <b class='flag-5'>spark</b>运行的基本流程

    Spark基于DPU的Native引擎算子卸载方案

    SparkStreaming)、机器 学习SparkMLlib)和图计算(GraphX)。 Spark使用内存加载保存数据并进行迭代计算,减少磁盘溢写,同时支持 Java、Sca
    的头像 发表于06-28 17:12 276次阅读
    <b class='flag-5'>Spark</b>基于DPU的Native引擎算子卸载方案

    Spark基于DPU Snappy压缩算法的异构加速方案

    一、总体介绍 1.1 背景介绍 Apache Spark是专为大规模数据计算而设计的 快速通用的计算引擎,是一种与 Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些不同之处使
    的头像 发表于03-26 17:06 531次阅读
    <b class='flag-5'>Spark</b>基于DPU Snappy压缩算法的异构加速方案

    RDMA技术在ApacheSpark中的应用

    、电信、零售、医疗保健还是物联网, Spark的应用几乎遍及所有需要处理海量数据和复杂计算的领域。它的 快速、易用和通用性,使得数据科学家和工程师能够轻松实现数据挖掘、数据分析、实时处理等任务。 然而,在 Spark的灿烂光环背后,一
    的头像 发表于03-25 18:13 1296次阅读
    RDMA技术在Apache <b class='flag-5'>Spark</b>中的应用

    基于DPU和HADOS-RACE加速Spark3.x

    背景简介 Apache Spark(下文简称 Spark)是一种开源集群计算引擎,支持批/流计算、SQL分析、机器 学习、图计算等计算范式,以其强大的容错能力、可扩展性、函数式API、多语言支持(SQL
    的头像 发表于03-25 18:12 1117次阅读
    基于DPU和HADOS-RACE加速<b class='flag-5'>Spark</b> 3.x

    Hadoop是什么?其核心由两大部分组成,分别是什么?

    了分布式存储和计算的方式,能够 快速有效地处理大量数据,并具备良好的扩展性和容错性。 Hadoop的核心由两大部分组成,分别是 Hadoop分布式文件系统( HadoopDistribut
    的头像 发表于02-05 10:52 1325次阅读

    华为企业架构设计方法及实例

    企业 架构是一项非常复杂的系统性工程。公司在充分继承原有 架构 方法基础上,博采众家之长,融合基于职能的业务能力分析与基于价值的端到端流程分析,将”传统 架构设计(TOGAF)”与“领域驱动(
    发表于01-30 09:40 640次阅读
    华为企业<b class='flag-5'>架构</b>设计<b class='flag-5'>方法</b>及实例

    请问初学者要怎么快速掌握FPGA的学习方法?

    对于初学者 FPGA的编程语言是什么? FPGA芯片的基础结构也不了解. FPGA开发工具的名称和使用 方法都不知道. 要学的很多啊,请问有什么自学的 学习方法么?
    发表于01-02 23:01

    快速测量热敏电阻好坏的方法

    快速测量热敏电阻好坏的 方法
    的头像 发表于12-08 17:18 1160次阅读
    <b class='flag-5'>快速</b>测量热敏电阻好坏的<b class='flag-5'>方法</b>

    TVM编译器的整体架构和基本方法

    有将近两个月没有 学习一些新东西,更新一下博客了。一直在忙公司的一个项目,是做一款支持LSTM和RNN的通用 架构加速IP。自己恰好负责指令编译工作,虽然开始的指令比较粗糙,没有一套完整的编译器 架构
    的头像 发表于11-30 09:36 1618次阅读
    TVM编译器的整体<b class='flag-5'>架构</b>和基本<b class='flag-5'>方法</b>

    Arm微架构学习—开启Armv9时代

    在上一篇文章“从A76到A78——在变化中 学习Arm微 架构”中,我们了解了Arm处理器微 架构的基本组成,介绍了Armv8 架构最后几代经典处理器 架构
    的头像 发表于11-27 16:46 883次阅读
    Arm微<b class='flag-5'>架构</b><b class='flag-5'>学习</b>—开启Armv9时代

    变频器架构组成和设计方法

    德赢Vwin官网 网站提供《变频器 架构组成和设计 方法.doc》资料免费下载
    发表于11-15 10:58 2次下载
    变频器<b class='flag-5'>架构</b>组成和设计<b class='flag-5'>方法</b>

    射频接收机的架构学习

    射频接收机的 架构 学习
    的头像 发表于10-30 16:21 386次阅读
    射频接收机的<b class='flag-5'>架构</b><b class='flag-5'>学习</b>

    基于Hadoop云计算智能家居信息处理平台

    德赢Vwin官网 网站提供《基于 Hadoop云计算智能家居信息处理平台.doc》资料免费下载
    发表于10-30 11:06 0次下载
    基于<b class='flag-5'>Hadoop</b>云计算智能家居信息处理平台