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



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

    关注

    1

    文章

    90

    浏览量

    16815
  • SPARK
    +关注

    关注

    1

    文章

    108

    浏览量

    21111
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVIDIA DGX Spark系统恢复过程与步骤

    在使用 NVIDIA DGX Spark 的过程中,可能会出现配置故障,而导致开发中断的问题,本篇教程将带大家了解如何一步步完成系统恢复。
    的头像 发表于 11-28 09:46 3504次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>系统恢复过程与步骤

    NVIDIA DGX Spark助力构建自己的AI模型

    2025 年 1 月 6 日,NVIDIA 正式宣布其 Project DIGITS 项目,并于 3 月 18 日更名为 NVIDIA DGX Spark,进一步公布了产品细节。DGX Spark
    的头像 发表于 11-21 09:25 522次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>助力构建自己的AI模型

    NVIDIA DGX Spark快速入门指南

    NVIDIA DGX Spark 已正式向 AI 开发者交付,对于刚入手的全新 DGX Spark,该如何进行初始化设置?本篇文章将引导您完成 DGX Spark 首次设置。在初始设置的过程中,您
    的头像 发表于 11-17 14:11 4061次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b><b class='flag-5'>快速</b>入门指南

    NVIDIA DGX Spark桌面AI计算机开启预订

    DGX Spark 现已开启预订!丽台科技作为 NVIDIA 授权分销商,提供从产品到服务的一站式解决方案,助力轻松部署桌面 AI 计算机。
    的头像 发表于 09-23 17:20 903次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>桌面AI计算机开启预订

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集计算机(RISC
    发表于 07-23 10:21

    零基础学习LuatOS编程:快速上手开发实战教程!

    无论你是刚接触物联网编程的新手,还是希望拓展技能的技术爱好者,本教程将为零基础的读者提供一条清晰的LuatOS学习路径。从安装开发工具到编写第一个程序,我们将通过实例讲解核心概念,助你快速实现从理论
    的头像 发表于 06-13 17:27 444次阅读
    零基础<b class='flag-5'>学习</b>LuatOS编程:<b class='flag-5'>快速</b>上手开发实战教程!

    Transformer架构概述

    由于Transformer模型的出现和快速发展,深度学习领域正在经历一场翻天覆地的变化。这些突破性的架构不仅重新定义了自然语言处理(NLP)的标准,而且拓宽了视野,彻底改变了AI的许多方面。
    的头像 发表于 06-10 14:24 925次阅读
    Transformer<b class='flag-5'>架构</b>概述

    常见的PFC拓扑架构及控制方法

    本期,芯朋微技术团队将为各位fans分享常见的PFC拓扑架构及控制方法,为设计选型提供参考。
    的头像 发表于 04-27 18:03 5915次阅读
    常见的PFC拓扑<b class='flag-5'>架构</b>及控制<b class='flag-5'>方法</b>

    汽车电气架构中的电源架构

    随着汽车电子化、智能化的快速发展,汽车电气架构(E/E架构)已成为现代汽车的核心技术之一。
    的头像 发表于 03-29 11:25 697次阅读

    NVIDIA加速的Apache Spark助力企业节省大量成本

    随着 NVIDIA 推出 Aether 项目,通过采用 NVIDIA 加速的 Apache Spark 企业得以自动加速其数据中心规模的分析工作负载,从而节省数百万美元。
    的头像 发表于 03-25 15:09 888次阅读
    NVIDIA加速的Apache <b class='flag-5'>Spark</b>助力企业节省大量成本

    Hadoop 生态系统在大数据处理中的应用与实践

    随着数据量的爆发式增长,大数据处理技术成为企业关注焦点,Hadoop 生态系统在其中扮演着核心角色。 Hadoop Distributed File System(HDFS)是其分布式文件存储
    的头像 发表于 01-21 17:48 669次阅读

    如何快速学习硬件电路

    对于想要学习硬件电路的新手来说,一开始可能感到有些困难,但只要掌握了正确的学习方法和技巧,就能够快速地成为一名优秀的硬件电路工程师。 首先,新手需要了解基本的电路知识,例如电阻、电容、电感等。这些
    的头像 发表于 01-20 11:11 1933次阅读
    如何<b class='flag-5'>快速</b><b class='flag-5'>学习</b>硬件电路

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工神经网络   人工神经网络模型之所以得名,是因为
    的头像 发表于 01-09 10:24 2233次阅读
    人工神经网络的原理和多种神经网络<b class='flag-5'>架构</b><b class='flag-5'>方法</b>

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一个强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度学习相比,传统方法在给定问题上的开发和测试速度更快。
    的头像 发表于 12-30 09:16 1968次阅读
    传统机器<b class='flag-5'>学习方法</b>和应用指导

    tmp117有快速测试的方法吗?

    项目使用tmp117进行腋下测温时,室温22度,5S内腋下可升温到34度。但再往上上升就是0.01度的速度进行,上升到36.5度需要一二十分钟。 请教下有快速测试的方法吗?
    发表于 12-05 07:08