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所需要的开销(多线程模型也有缺点,由于同节点上所有任务运行在一个进行中,因此,会出现严重的资源争用,难以细粒度控制每个任务占用资源)

审核编辑 黄宇

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

    关注

    8

    文章

    3020

    浏览量

    74011
  • SPARK
    +关注

    关注

    1

    文章

    105

    浏览量

    19895
  • MapReduce
    +关注

    关注

    0

    文章

    45

    浏览量

    6299
收藏 人收藏

    评论

    相关推荐

    克电池邱沫:超低内阻,克大圆柱电池达成极致充性能

    近日,由高工锂电主办的2024高工锂电年会在深圳召开,克电池大圆柱业务技术负责人邱沫受邀参与圆桌对话,就大圆柱电池产业化瓶颈与破局等话题进行了分享。2024年,在经历多元技术路线共存的状态后,大圆
    的头像 发表于 12-09 12:07 173次阅读
    <b class='flag-5'>比</b>克电池邱沫:超低内阻,<b class='flag-5'>比</b>克大圆柱电池达成极致<b class='flag-5'>快</b>充性能

    供应智融SW6106支持PD的多协议双向充IC

    概述 SW6106 是一款高集成度的双向充移动电源专用多合一芯片,其集成了 4A 高效率开关充电, 18W 高效同步升压输出,PD/QC/AFC/FCP/PE/SFCP 等多种充协议,电量计
    发表于 10-31 09:27

    充工作原理,解读什么是充协议及协议芯片的应用

    随着手机充的出现传统的慢充模式已经满足不了我们对充电速度的要求,那么我们如何使产品也能使用上充呢?下面我们来了解一下充的工作原理: 充技术的主要原理是通过提高‌充电电流和‌电压
    的头像 发表于 10-19 16:29 910次阅读
    <b class='flag-5'>快</b>充工作原理,解读什么是<b class='flag-5'>快</b>充协议及协议芯片的应用

    恢复桥损坏如何判断

    恢复桥是一种广泛应用于电力电子设备中的整流器件,通常用于对电流要求较高且需要快速恢复特性的电路中。由于其快速切换特性,恢复桥在高频环境下的表现优越。然而,随着使用时间的增加或在不适当的操作条件下
    的头像 发表于 09-04 14:27 288次阅读
    <b class='flag-5'>快</b>恢复桥损坏如何判断

    2024应用智慧服务生态白皮书发布,探索AI与应用融合之路

    8月8日,在北京望京凯悦酒店举办的2024应用开发者大会正式落下帷幕。本届应用开发者大会以“快意无界,与AI同行”为主题,聚焦于应用2.0版本与人工智能技术的深度融合,从技术升级、跨平台多终端
    的头像 发表于 08-26 14:57 350次阅读

    PD充协议芯片的应用

    充技术里PD协议起到至关重要的作用,想要使设备达到快速充电,充协议是不可或缺的
    的头像 发表于 08-19 12:18 460次阅读
    PD<b class='flag-5'>快</b>充协议芯片的应用

    广汽能源与泰国Spark EV签订合作框架协议

    近日,广汽能源科技(泰国)有限公司与Spark EV Co.Ltd.宣布达成重要合作,双方共同签署了一项合作框架协议,旨在泰国境内全面布局并运营超级充电场站,为新能源汽车的普及与发展注入强劲动力。
    的头像 发表于 07-19 17:08 860次阅读

    spark运行的基本流程

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

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

    1.背景介绍 Apache Spark(以下简称Spark)是一个开源的分布式计算框架,由UC Berkeley AMP Lab开发,可用于批处理、交互式查询(Spark SQL)、实时流处理
    的头像 发表于 06-28 17:12 561次阅读
    <b class='flag-5'>Spark</b>基于DPU的Native引擎算子卸载方案

    关于Spark的从0实现30s内实时监控指标计算

    前言 说起Spark,大家就会自然而然地想到Flink,而且会不自觉地将这两种主流的大数据实时处理技术进行比较。然后最终得出结论:Flink实时性大于Spark。 的确,Flink中的数据计算
    的头像 发表于 06-14 15:52 441次阅读

    充技术的演变与PW6606充电压诱骗芯片的应用

    随着科技的快速发展,移动设备对电能的需求日益增长,充技术应运而生。从最初的USB A口快充协议QC3.0、QC2.0,到TYPE C口的PD充协议,充技术经历了从初级到高级的演进。本文旨在探讨
    的头像 发表于 05-28 14:11 903次阅读
    <b class='flag-5'>快</b>充技术的演变与PW6606<b class='flag-5'>快</b>充电压诱骗芯片的应用

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

    SSD速度通过NVMe接口得到了大幅提升,并且网络传输速率也进入了新的高度,但CPU主频发展并未保持同等步调,3GHz左右的核心频率已成为常态。 在当前背景下Apache Spark等大数据处理工具中,尽管存储和网络性能的提升极大地减少了数据读取和传输的时间消耗,但
    的头像 发表于 04-02 13:45 1047次阅读
    如何利用DPU加速<b class='flag-5'>Spark</b>大数据处理? | 总结篇

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

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

    RDMA技术在Apache Spark中的应用

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

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

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