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更高效?相关推荐

  1. Adaptive Execution让Spark SQL更高效更好用

    本文所述内容均基于 2018年9月17日 Spark 最新 Spark Release 2.3.1 版本,以及截止到 2018年10月21日 Adaptive Execution 最新开发代码.自动设 ...

  2. 基于Alluxio系统的Spark DataFrame高效存储管理技术

    介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理,提升数据访问性能.Qunar最近将Alluxio部署在他们的生产环境中,从而将Spark streaming作业的平 ...

  3. java游戏开发--连连看-让程序运行更稳定、更高效

    之六)优化:让程序运行更稳定.更高效 改善游戏的合理性 到目前为止,我们的游戏基本上算是完成了,为了使程序更合理,我们还需要将整个程序从头再理一遍,看看有没有改进的地方. 首先,在变量的使用上,由于很 ...

  4. 推荐8个非常有逼格的实用软件,让你的办公更高效

    推荐8个非常有逼格,并且极其实用的软件,解决你很多需求,让职场办公更高效. 1.Billfish Billfish可以快速.轻松管理各种设计素材,让你更专注于设计本身.软件支持Windows和macO ...

  5. 推荐10个windows软件,让你的办公更高效

    1.Flomo Flomo 是一款让你更好思考的笔记软件,含义是流动的笔记.它的理念是:重要的不是记录,而是更好地思考.Flomo 非常的轻量化:空间很轻.编辑很轻.分享很轻,可以让你捕捉灵感.记录日 ...

  6. 更高效的PacBio长read纠错算法的研究

    更高效的PacBio长read纠错算法的研究 更高效的PacBio长read纠错算法的研究 中文摘要 第三代PacBio测序技术的长read已越来越广泛的应用于各类测序项目中,而降低其约15%的错误率 ...

  7. 最常用的10个Matlab快捷键,助你编程更高效

    本文转载:最常用的10个Matlab快捷键,助你编程更高效 目录 1. 屏蔽大段程序:Ctrl+r 2. 自动对齐程序:Ctrl+i 3. 直接跳至某行:Ctrl+g 4. 设置标签:Ctrl+F2 ...

  8. 英语和汉语谁更高效?17大主流语言测试结果:没有优劣之分,带宽都是每秒39bit...

    晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI 哪种语言是世界上最高效的语言?这个问题一直争论不休,也难以量化. 首先,不同语种的说话速度差异很大.有研究证明,意大利人语速最快,每秒能说9 ...

  9. 面试mysql中怎么创建索引_阿里面试:MySQL如何设计索引更高效?

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

最新文章

  1. 【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)
  2. LeetCode Range Sum Query 2D - Immutable
  3. IOS笔记-计算机中的进制 反码补码 和存储细节
  4. mysql5.5.44安装_cmake 安装 mysql5.5.44
  5. 过拟合(overfitting)和欠拟合(underfitting)出现原因及如何避免方案
  6. 理论基础 —— 排序 —— 直接插入排序
  7. 设置固定高度_防排烟系统的设置,前室、楼梯间、避难层!设置要求全记住!...
  8. Go 语言基础(七) 之 并发和网络
  9. 【网络流24题】[CTSC1999]家园
  10. 语义分割——语义分割数据集的笔记
  11. selenium配置
  12. pytorch如何用自己训练好的模型预测新的图片类型?
  13. 如何证明一个问题是NP-Hard或NP-Complete?
  14. apple 苹果官方的demo 下载地址
  15. Java作业-圆柱体积
  16. 郭海萍在《蜗居》的台词
  17. 计算机组成1046Q表示什么,计算器里的tanh是什么意思
  18. 锐捷ac怎么发现局域网ap_锐捷AC配置步骤备忘
  19. python自动排版 html_python自动生成易于阅读的html文档——使用Sphinx
  20. 回首向来萧瑟处,归去,也无风雨也无晴。

热门文章

  1. python编写装饰器_我也来写一下python装饰器
  2. 关于deepin系统安装design compiler的问题解答
  3. 【深度学习】Tensorflow的基本操作
  4. Django删除多对多表关系 :
  5. 动态给实例添加属性和方法
  6. Github远程仓库管理
  7. iOS 抓包工具 charles工具
  8. 高光谱图像pca降维_高光谱图像的数据特性之探讨
  9. console和windows子系统
  10. Python实现比较两个列表(list)范围