spark为什么比mapreduce快?

这篇具有很好参考价值的文章主要介绍了spark为什么比mapreduce快?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

作者:京东零售 吴化斌

来源:京东云开发者社区 转载请注明来源文章来源地址https://www.toymoban.com/news/detail-833480.html

到了这里,关于spark为什么比mapreduce快?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spark重温笔记(三):Spark在企业中为什么能这么强?——持久化、Checkpoint机制、共享变量与内核调度原理全攻略“

    前言:今天是温习 Spark 的第 3 天啦!主要梳理了 Spark 核心数据结构:RDD(弹性分布式数据集),包括RDD持久化,checkpoint机制,spark两种共享变量以及spark内核调度原理,希望对大家有帮助! Tips:\\\"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量

    2024年04月09日
    浏览(46)
  • 数据治理为什么要清洗数据

    在当今科技发展迅速的时代,数据已经成为企业和组织中不可或缺的重要资源。在数聚看来,随着数据量的不断增加和数据来源的多样性,数据的质量与一致性成为了一个巨大的挑战。为了保证数据的准确性和可靠性,数据治理成为了当务之急。而数据清洗作为数据治理的重

    2024年01月23日
    浏览(44)
  • 为什么需要数据仓库

    为什么不在OLTP环境下分析?  OLTP环境也会存储历史数据,但这些历史数据并不是业务运行所需的,这些历史数据需要经常归档到数据仓库,并且在OLTP数据库中删除。 相比之下,事务环境适用于连续处理事务,通常应用于订单录入以及财务和零售事务。它们并不依赖历史数据

    2024年01月25日
    浏览(62)
  • 数据要素“摸家底”:是什么?为什么?怎么做?

    继经济数据“摸家底”之后,全国数据资源也迎来一次“大摸底”。2月19日,国家数据局等四部门发布《关于开展全国数据资源调查的通知》,提出“摸清数据资源底数”,为相关政策制定、试点示范等工作提供数据支持。如此大规模数据资源调查,在世界范围内也是首次。

    2024年03月09日
    浏览(35)
  • 什么是区块链,为什么数据不可被篡改

    一提到区块链,首先想到的就是比特币。确实比特币是第一个区块链项目,也是最成功的项目,目前的价格是60428¥/btc。想想当初用10000个比特币买了2个披萨的程序员Laszlo,估计怎么也想不到比特币能涨到如此之高(毕竟眼光有多远,就只能赚多少钱)。那么到底什么是区块

    2024年01月21日
    浏览(47)
  • 为什么要搭建数据仓库

    数据是企业中最重要的资源之一,因此,随着企业数据量的不断增大和复杂度的提高,建立一个可靠和健全的数据仓库变得越来越重要。在数聚股份看来,一个数据仓库可以作为一个企业数据存储和管理系统,能够更有效地存储、管理和分析数据。那么,为什么要搭建数据仓

    2024年02月11日
    浏览(39)
  • 大数据为什么如此重要?

    简单来说,大数据就是结构化的传统数据再加上非结构化的新数据。那么传统数据和新数据又是什么呢?传统数据就是IT业务系统里面的数据,如客户资料、财务数据等。这些数据是结构化的,量也不是特别大,一般只是TB级。对比传统数据,还有一种叫“新数据”,是来源于

    2024年02月08日
    浏览(44)
  • 为什么要进行数据治理

            数据治理是个大话题,包含的环节也非常多,从数据集成、数据质量、数据资产、数据安全、数据标准各个环节。数据治理最近越来越受到企业的关注,为什么越来越多的企业开始进行数据治理呢?因为他们开始意识到了数据治理的价值。本质上来讲数据治理的价

    2024年02月09日
    浏览(53)
  • 数据资源 | 为什么要做数据清洗?

    查看原文:【数据seminar】https://mp.weixin.qq.com/s/oWW3qdMxkzqqdwLUovK39g 在回答这个问题之前,先讲讲数据的分类。通常我们所用的数据中,可以分为两类, 一类是结构化数据(Structured Data),另一类是非结构化数据(Unstructured Data) 。 结构化数据 :信息能够用数据或统一的结构加以表示

    2024年02月08日
    浏览(59)
  • 为什么要使用数据库?

    新星计划,等你来造,一起学习进步! 7月3日-7月15日期间,完成计划任务,完成打卡赢好礼,活动报名链接如下:点击跳转 活动奖励: ❀【新秀奖】新注册用户发布第一篇文章(500字以上)获得电子【新秀勋章】; ❀【基础奖】完成任务挑战用户可获专属电子勋章(潜力新

    2024年02月06日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包