为何Spark更高效?
learn from 从0开始学大数据(极客时间)
Spark 的计算阶段
Hadoop MapReduce 简单粗暴地根据 shuffle 将大数据计算分成 Map 和 Reduce 两个阶段,然后就算完事了。
而 Spark 更细腻一点,将前一个的 Reduce 和后一个的 Map 连接起来,当作一个阶段持续计算,形成一个更加优雅、高效的计算模型,虽然其本质依然是 Map 和 Reduce。
但是这种多个计算阶段依赖执行的方案可以有效减少对 HDFS 的访问,减少作业的调度执行次数,因此执行速度也更快和 Hadoop MapReduce 主要使用磁盘存储 shuffle 过程中的数据不同,Spark 优先使用内存 进行数据存储,包括 RDD 数据。
除非是内存不够用了,否则是尽可能使用内存, 这也是 Spark 性能比 Hadoop 高的另一个原因
Spark 的作业管理
- DAGScheduler 根据代码生成 DAG 图以后,Spark 的任务调度就以任务为单位进行分配,将任务分配到分布式集群的不同机器上执行
Spark 的执行过程
总结:
Spark 有三个主要特性:
- RDD 的编程模型更简单
- DAG 切分的多阶段计算过程更快速
- 使用内存存储中间计算结果更高效
这三个特性使得 Spark 相对 Hadoop MapReduce 可以有更快的执行速度,以及更简单的编程实现
为何Spark更高效?相关推荐
- Adaptive Execution让Spark SQL更高效更好用
本文所述内容均基于 2018年9月17日 Spark 最新 Spark Release 2.3.1 版本,以及截止到 2018年10月21日 Adaptive Execution 最新开发代码.自动设 ...
- 基于Alluxio系统的Spark DataFrame高效存储管理技术
介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理,提升数据访问性能.Qunar最近将Alluxio部署在他们的生产环境中,从而将Spark streaming作业的平 ...
- java游戏开发--连连看-让程序运行更稳定、更高效
之六)优化:让程序运行更稳定.更高效 改善游戏的合理性 到目前为止,我们的游戏基本上算是完成了,为了使程序更合理,我们还需要将整个程序从头再理一遍,看看有没有改进的地方. 首先,在变量的使用上,由于很 ...
- 推荐8个非常有逼格的实用软件,让你的办公更高效
推荐8个非常有逼格,并且极其实用的软件,解决你很多需求,让职场办公更高效. 1.Billfish Billfish可以快速.轻松管理各种设计素材,让你更专注于设计本身.软件支持Windows和macO ...
- 推荐10个windows软件,让你的办公更高效
1.Flomo Flomo 是一款让你更好思考的笔记软件,含义是流动的笔记.它的理念是:重要的不是记录,而是更好地思考.Flomo 非常的轻量化:空间很轻.编辑很轻.分享很轻,可以让你捕捉灵感.记录日 ...
- 更高效的PacBio长read纠错算法的研究
更高效的PacBio长read纠错算法的研究 更高效的PacBio长read纠错算法的研究 中文摘要 第三代PacBio测序技术的长read已越来越广泛的应用于各类测序项目中,而降低其约15%的错误率 ...
- 最常用的10个Matlab快捷键,助你编程更高效
本文转载:最常用的10个Matlab快捷键,助你编程更高效 目录 1. 屏蔽大段程序:Ctrl+r 2. 自动对齐程序:Ctrl+i 3. 直接跳至某行:Ctrl+g 4. 设置标签:Ctrl+F2 ...
- 英语和汉语谁更高效?17大主流语言测试结果:没有优劣之分,带宽都是每秒39bit...
晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI 哪种语言是世界上最高效的语言?这个问题一直争论不休,也难以量化. 首先,不同语种的说话速度差异很大.有研究证明,意大利人语速最快,每秒能说9 ...
- 面试mysql中怎么创建索引_阿里面试:MySQL如何设计索引更高效?
有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...
最新文章
- 【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)
- LeetCode Range Sum Query 2D - Immutable
- IOS笔记-计算机中的进制 反码补码 和存储细节
- mysql5.5.44安装_cmake 安装 mysql5.5.44
- 过拟合(overfitting)和欠拟合(underfitting)出现原因及如何避免方案
- 理论基础 —— 排序 —— 直接插入排序
- 设置固定高度_防排烟系统的设置,前室、楼梯间、避难层!设置要求全记住!...
- Go 语言基础(七) 之 并发和网络
- 【网络流24题】[CTSC1999]家园
- 语义分割——语义分割数据集的笔记
- selenium配置
- pytorch如何用自己训练好的模型预测新的图片类型?
- 如何证明一个问题是NP-Hard或NP-Complete?
- apple 苹果官方的demo 下载地址
- Java作业-圆柱体积
- 郭海萍在《蜗居》的台词
- 计算机组成1046Q表示什么,计算器里的tanh是什么意思
- 锐捷ac怎么发现局域网ap_锐捷AC配置步骤备忘
- python自动排版 html_python自动生成易于阅读的html文档——使用Sphinx
- 回首向来萧瑟处,归去,也无风雨也无晴。