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

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

3天内不再提示

MapReduce和Spark概要介绍

RG15206629988 来源:行业学习与研究 2023-03-20 09:24 次阅读

一、MapReduce

(1)MapReduce概要介绍

MapReduce是一种编程模型,可用于大规模数据集(数据量大于1TB的数据集)的并行运算(根据百度百科:并行运算是一种一次可执行多个指令的算法,可提高计算速度)。MapReduce可使程序的并行运算更加简单。

Map(映射)是于各个节点对本地数据的预处理操作。 Reduce(归约)是将Map预处理操作后的数据汇总。Reduce可使编程人员不必关心如何实现分布式并行程序,基于Reduce,编程人员可只关注业务数据处理。

(2)处理模型

MapReduce框架负责处理并行计算中的复杂问题,包括:分布式存储、作业调度、负载均衡、容错处理、网络通信等。

MapReduce的处理流程如图一所示。

首先,数据在数据节点被划分为数据块(个人理解:数据块即图一中的split),MapReduce确定待处理的数据块数量并确定每个记录(个人理解:此处记录可被理解关系数据库的一行数据)在数据块中的位置;

然后,划分后的数据块作为Map的输入;

再然后,Map的输出数据需要经过sort(个人理解:分类)、copy(个人理解:复制)、merge(个人理解:合并)操作成为Reduce的输入,Reduce的输入数据间没有交集,系统中处于Reduce运行的节点的数量等于merge操作后的数据数量;

最后,输出Reduce运行后的数据。

53e687fe-c521-11ed-bfe3-dac502259ad0.png

图一,图片来源:学堂在线《大数据导论》

二、Spark

(1)Spark概要介绍

Spark是针对大规模数据处理的快速通用引擎,其功能是类似MapReduce的计算引擎。

(2)Spark的特点

1)计算速度快。Spark计算速度是Hadoop计算速度的一百倍。

2)可用性高。Spark可使用JavaPython、R、SQL等编程语言。

3)通用性。Spark由一系列解决处理复杂问题的组件构成,可处理多种类型有关数据库的复杂问题。

4)可运行于多种环境中,运行环境包括Hadoop等。

图片来源:学堂在线《大数据导论》

(3)Spark的体系架构

1)Cluster Manager:Cluster Manager是主节点,控制整个集群,监控 Worker Node。

2)Worker Node:Worker Node是从节点,负责控制计算节点,启动Executor 或者Driver

3)Driver:运行Application(个人理解:此处Application指某一应用)的main()函数

4)Executor:为Application运行Worker Node上的一个进程。

549d286a-c521-11ed-bfe3-dac502259ad0.png

图片来源:学堂在线《大数据导论》

(4)RDD

RDD(Resilient Distributed Dataset)被称为弹性分布式数据集,利用SparkContext实例(根据网络资料理解:每个SparkContext实例是Spark的一个应用)创建的对象均为RDD。RDD是不可变、可分区、其内部元素可并行计算的集合,数据可在RDD中运行RDD的自有函数。

RDD的函数被称为RDD算子,RDD算子分为Transformation和Action两种类型。Transformation具有类似于MapReduce的功能,Action的功能包括:触发RDD计算、统计RDD元素个数等。

RDD的特点包括:自动容错、位置感知性调度、可伸缩性(个人理解:数据量的多少对RDD的运行影响较小)、可在已有RDD的基础上创建新的RDD、延迟执行(延迟执行即Transformation只有在Action被触发后才执行)。

另外,RDD允许用户在执行多个查询时可将工作集缓存在内存中,后续的查询可重用工作集,可提升查询速度。





审核编辑:刘清

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

    关注

    1

    文章

    738

    浏览量

    43461
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33123
  • RDD
    RDD
    +关注

    关注

    0

    文章

    6

    浏览量

    7952
  • SPARK
    +关注

    关注

    1

    文章

    99

    浏览量

    19728
  • MapReduce
    +关注

    关注

    0

    文章

    44

    浏览量

    6254

原文标题:大数据相关介绍(22)——MapReduce和Spark

文章出处:【微信号:行业学习与研究,微信公众号:行业学习与研究】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何利用DPU加速Spark大数据处理? | 总结篇

    一、总体介绍 1.1 背景介绍 近年来,随着存储硬件的革新与网络技术的突飞猛进,如NVMe SSD和超高速网络接口的普及应用,I/O性能瓶颈已得到显著改善。然而,在2020年及以后的技术背景下,尽管
    的头像 发表于 04-02 13:45 434次阅读
    如何利用DPU加速<b class='flag-5'>Spark</b>大数据处理? | 总结篇

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

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

    RDMA技术在Apache Spark中的应用

    背景介绍 在当今数据驱动的时代,Apache Spark已经成为了处理大规模数据集的首选框架。作为一个开源的分布式计算系统,Spark因其高效的大数据处理能力而在各行各业中广受欢迎。无论是金融服务
    的头像 发表于 03-25 18:13 1070次阅读
    RDMA技术在Apache <b class='flag-5'>Spark</b>中的应用

    基于DPU和HADOS-RACE加速Spark 3.x

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

    MA35D1 buildroot编译大概要多长时间?

    请问一下,buildroot编译大概要多长时间? yocto编译大概要多长时间?
    发表于 01-15 06:17

    Blaze: 用Rust重写Spark执行层,平均提升30%算力

    随着机器硬件的发展,RAM的价格也大幅降低,这时Spark提出了弹性分布式数据集(RDD),这是一种分布式内存抽象,可以让程序员以容错的方式在大型集群上执行内存计算。
    的头像 发表于 11-22 17:46 429次阅读
    Blaze: 用Rust重写<b class='flag-5'>Spark</b>执行层,平均提升30%算力

    小型电桥技术开发概要

    小型电桥技术开发概要
    的头像 发表于 11-22 09:17 241次阅读
    小型电桥技术开发<b class='flag-5'>概要</b>

    低功耗DC_DC转换器概要

    电子发烧友网站提供《低功耗DC_DC转换器概要.pdf》资料免费下载
    发表于 11-08 15:56 0次下载
    低功耗DC_DC转换器<b class='flag-5'>概要</b>

    用220v降压到5v给单片机供电,大概要1a电流,用什么方式比较合适?

    用220v降压到5v给单片机供电,大概要1a电流,用什么方式比较合适?
    发表于 11-02 07:25

    干货 | 氮化镓GaN驱动器的PCB设计策略概要

    干货 | 氮化镓GaN驱动器的PCB设计策略概要
    的头像 发表于 09-27 16:13 566次阅读
    干货 | 氮化镓GaN驱动器的PCB设计策略<b class='flag-5'>概要</b>

    MA35D1 buildroot/yocto编译大概要多长时间?

    请问一下,buildroot编译大概要多长时间? yocto编译大概要多长时间?
    发表于 08-31 10:12

    NVIDIA 携手腾讯开发和优化 Spark UCX 实现性能跃升

    腾讯网络平台部与数据平台部,联合 NVIDIA 合作开发和优化 Spark UCX,最终实现 Spark Shuffle 稳定加速 15% - 20%,平均降低现网 Spark 任务
    的头像 发表于 08-25 20:50 422次阅读
    NVIDIA 携手腾讯开发和优化 <b class='flag-5'>Spark</b> UCX 实现性能跃升

    一种基于STM32F407-RT-SPARK开发板的智能花盆设计案例

    该项目是基于STM32F407-RT-SPARK开发板的智能花盆。通过温湿度传感器和光照传感器,它能够监测花盆土壤当前的温湿度和附近的光照强度,并将这三项数据实时显示在LCD屏上。
    的头像 发表于 07-28 17:06 1953次阅读
    一种基于STM32F407-RT-<b class='flag-5'>SPARK</b>开发板的智能花盆设计案例

    Spark ML算法提供GPU加速度

    新的 GPU 库降低了 Apache Spark ML 的计算成本
    的头像 发表于 07-05 16:30 577次阅读
    为<b class='flag-5'>Spark</b> ML算法提供GPU加速度

    Spark 3.4用于分布式模型训练和大规模模型推理

    使用 Spark 3.4 简化分布式深度学习
    的头像 发表于 07-05 16:30 778次阅读
    <b class='flag-5'>Spark</b> 3.4用于分布式模型训练和大规模模型推理