当前位置: 首页 > news >正文

spark为什么比hadoop快

网上一堆人根本对计算框架一知半解就出来糊弄人,常见解答有:
spark是基于内存计算,所以快。这跟废话似的,mr计算的时候不也是基于内存?
mr shuffle落盘。这也是胡扯, spark shuffle不落盘?

实际上,如果一个job只有一个map task和reduce task,那么spark并不会比mr快很多。spark快的真正原因是,当一个job具有多个stage时, 我们将这个job表示为[map1,reduce1,map2,reduce2...reducen−1,mapn][map_1, reduce_1, map_2, reduce_2...reduce_{n-1}, map_n][map1,reduce1,map2,reduce2...reducen1,mapn],那么mr会在每一个reducen−1reduce_{n-1}reducen1mapnmap_nmapn之间进行一次落盘和一次文件读取,而spark因为可以将窄依赖的算子合并为一个stage,所以在reducen−1reduce_{n-1}reducen1mapnmap_nmapn之间是不涉及落盘的,直接基于内存计算。

举个小例子加深理解,假设一个job涉及两个stage,那么mr和spark的运行过程是这样的:
在这里插入图片描述
可以看到, spark相较于MR而言,少了一次hdfs文件落盘和一次文件读取,如果一个job有nnn个stage,比方说是机器学习算法,那么spark可以节省n−1n-1n1次文件落盘、读取。因此速度会快很多。

http://www.lryc.cn/news/22847.html

相关文章:

  • 跨境人都在用的指纹浏览器到底有什么魔力?三分钟带你了解透彻
  • 机器学习概述
  • 企业网站自动生成系统的设计和实现
  • sikuli+eclipse对于安卓app自动化测试的应用
  • react源码分析:babel如何解析jsx
  • 搜广推 WideDeep 与 DeepCrossNetwork (DCN) - 记忆+泛化共存
  • 项目管理工具dhtmlxGantt甘特图入门教程(十四):导出/导入 Excel到 iCal
  • k-means聚类总结
  • char * 和const char *的区别
  • 【剑指offer】JZ3 数组中重复的数字、 JZ4 二维数组中的查找
  • 数据采集 - 笔记
  • 8年测开经验面试28K公司后,吐血整理出高频面试题和答案
  • spring读取properties顺序,重复key问题
  • 什么是api接口?(基本介绍)
  • 【2023全网最全教程】从0到1开发自动化测试框架(建议收藏)
  • 3-5天炒股短线战法指标思想结合----超级短线源码无未来
  • 原始GAN-pytorch-生成MNIST数据集(代码)
  • 注意,这些地区已发布2023年上半年软考报名时间
  • Html引入外部css <link>标签 @import
  • React源码分析8-状态更新的优先级机制
  • 如何在ChatGPT的API中支持多轮对话
  • 华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)
  • Containerd容器运行时将会替换Docker?
  • java虚拟机中对象创建过程
  • 3485. 最大异或和
  • SpringBoot:SpringBoot配置文件.properties、.yml 和 .ymal(2)
  • QT 学习之QPA
  • Pytorch中FLOPs和Params计算
  • DP1621国产LCD驱动芯片兼容替代HT1621B
  • Linux 用户管理