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

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

3天内不再提示

spark为什么比mapreduce快?

京东云 来源:jf_75140285 作者:jf_75140285 2024-09-06 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

spark为什么比mapreduce快?

首先澄清几个误区:

1:两者都是基于内存计算的,任何计算框架都肯定是基于内存的,所以网上说的spark是基于内存计算所以快,显然是错误的

2;DAG计算模型减少的是磁盘I/O次数(相比于mapreduce计算模型而言),而不是shuffle次数,因为shuffle是根据数据重组的次数而定,所以shuffle次数不能减少


所以总结spark比mapreduce快的原因有以下几点:

1:DAG相比hadoop的mapreduce在大多数情况下可以减少磁盘I/O次数

因为mapreduce计算模型只能包含一个map和一个reduce,所以reduce完后必须进行落盘,而DAG可以连续shuffle的,也就是说一个DAG可以完成好几个

mapreduce,所以dag只需要在最后一个shuffle落盘,就比mapreduce少了,总shuffle次数越多,减少的落盘次数就越多


2:spark shuffle 的优化

mapreduce在shuffle时默认进行排序,spark在shuffle时则只有部分场景才需要排序(bypass技师不需要排序),排序是非常耗时的,这样就可以加快shuffle速度


3:spark支持将需要反复用到的数据进行缓存

所以对于下次再次使用此rdd时,不再再次计算,而是直接从缓存中获取,因此可以减少数据加载耗时,所以更适合需要迭代计算的机器学习算法

4:任务级别并行度上的不同

mapreduce采用多进程模型,而spark采用了多线程模型,多进程模型的好处是便于细粒度控制每个任务占用的资源,但每次任务的启动都会消耗一定的启动时间,即mapreduce的map task 和reduce task是进程级别的,都是jvm进程,每次启动都需要重新申请资源,消耗不必要的时间,而spark task是基于线程模型的,通过复用线程池中的线程来减少启动,关闭task所需要的开销(多线程模型也有缺点,由于同节点上所有任务运行在一个进行中,因此,会出现严重的资源争用,难以细粒度控制每个任务占用资源)

审核编辑 黄宇

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

    关注

    9

    文章

    3234

    浏览量

    76508
  • SPARK
    +关注

    关注

    1

    文章

    108

    浏览量

    21288
  • MapReduce
    +关注

    关注

    0

    文章

    45

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    首届中国NVIDIA DGX Spark黑客松大赛开启报名

    倒计时启动!首届中国 NVIDIA DGX Spark 黑客松(Hackathon)将于 3 月 13 日 - 3 月 28 日正式开启报名!本届赛事以“算力破局、AI 落地”为核心导向,依托
    的头像 发表于 03-14 16:39 2717次阅读

    NVIDIA DGX Spark助力高等教育领域重大项目

    在全球各地的顶尖高校,NVIDIA DGX Spark 桌面超级计算机正将数据中心级的 AI 能力带到实验室台前、教师办公室里和学生的终端设备上。在地球最南端的南极,也有一台 DGX Spark 正在威斯康星大学麦迪逊分校运营的 IceCube 中微子天文台中高速运转。
    的头像 发表于 03-09 16:33 678次阅读

    全新软件与模型优化为NVIDIA DGX Spark注入强大动力

    自发布以来,NVIDIA 通过持续的软件优化以及与软件合作伙伴和开源社区的紧密协作,不断提升基于 Grace Blackwell 架构的 DGX Spark 的性能。这些举措在推理、训练和创意工作流方面都取得了显著的成效。
    的头像 发表于 01-09 10:17 845次阅读

    NVIDIA DGX Spark桌面级AI超级计算机助力开发者构建AI模型

    开源 AI 正在加速各行各业的创新,NVIDIA DGX Spark 将帮助开发者将创新转化为影响力。
    的头像 发表于 01-09 09:49 704次阅读

    如何在DGX Spark上运行NVIDIA Omniverse

    首先感谢 Vigor 同学第一时间的分享,以下是具体如何在 DGX Spark 上运行 Omniverse 的方法。
    的头像 发表于 12-17 10:13 913次阅读
    如何在DGX <b class='flag-5'>Spark</b>上运行NVIDIA Omniverse

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

    在使用 NVIDIA DGX Spark 的过程中,可能会出现配置故障,而导致开发中断的问题,本篇教程将带大家了解如何一步步完成系统恢复。
    的头像 发表于 11-28 09:46 5905次阅读
    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 1527次阅读
    NVIDIA DGX <b class='flag-5'>Spark</b>助力构建自己的AI模型

    在NVIDIA DGX Spark平台上对NVIDIA ConnectX-7 200G网卡配置教程

    在 NVIDIA DGX Spark 平台上对 NVIDIA ConnectX-7 200G 网卡进行配置时,会遇到“4 个逻辑端口”现象。理解背后的真相是后续所有配置的基础。本文将从此现象入手,逐步解析其原理,并提供从基础配置到深度性能验证的完整流程。
    的头像 发表于 11-21 09:19 6029次阅读
    在NVIDIA DGX <b class='flag-5'>Spark</b>平台上对NVIDIA ConnectX-7 200G网卡配置教程

    NVIDIA DGX Spark快速入门指南

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

    NVIDIA黄仁勋向SpaceX马斯克交付DGX Spark

    革新于星舰基地开始。NVIDIA 创始人兼首席执行官黄仁勋亲手将全球迄今为止最小的 AI 超级计算机 NVIDIA DGX Spark 交付给埃隆·马斯克,拉开了该产品上市的序幕。
    的头像 发表于 10-21 11:12 1143次阅读

    NVIDIA DGX Spark新一代AI超级计算机正式交付

    NVIDIA 创始人兼首席执行官黄仁勋在 SpaceX 向埃隆·马斯克交付 DGX Spark
    的头像 发表于 10-21 10:41 1492次阅读

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

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

    使用NVIDIA GPU加速Apache Spark中Parquet数据扫描

    的方式组织数据,这使得 Parquet 在查询时仅读取所需的列,而无需扫描整行数据,即可实现高性能的查询和分析。高效的数据布局使 Parquet 在现代分析生态系统中成为了受欢迎的选择,尤其是在 Apache Spark 工作负载中。
    的头像 发表于 07-23 10:52 1216次阅读
    使用NVIDIA GPU加速Apache <b class='flag-5'>Spark</b>中Parquet数据扫描

    什么是充协议,充协议芯片的作用与特点

    一、什么是充协议? 充协议是一种通过提高充电效率来缩短设备充电时间的电池充电技术。它是通过在充电器和设备之间建立一种沟通机制,充电器能够根据设备的需求和状态,调整输出的电压和电流。这种沟通机制由
    的头像 发表于 05-12 14:02 6288次阅读
    什么是<b class='flag-5'>快</b>充协议,<b class='flag-5'>快</b>充协议芯片的作用与特点