前言
大家好,我是DJ丶小哪吒,我又来跟你们分享知识了。对软件开发有着浓厚的兴趣。喜欢与人分享知识。做博客的目的就是为了能与 他 人知识共享。由于水平有限。博客中难免会有一些错误。如有 纰 漏之处,欢迎大家在留言区指正。小编也会及时改正。

上了我DJ丶小哪吒的车,那就坐稳了哦。小编会拿出秋名山老司机的车技,来带大家在知识的大道上兜风。准备好发车了没有~~~

码字不易,先赞再看,养成习惯~~~

文章目录

  • 第一章 Spark原理初探
    • 7.1. 基本概念
    • 7.2. 基本流程
    • 7.3. 流程图解
    • 7.4. 总结

第一章 Spark原理初探

7.1. 基本概念

这里小编引用一下官网图片
【官网图片】http://spark.apache.org/docs/latest/cluster-overview.html


●名词解释
1.Application:指的是用户编写的Spark应用程序/代码,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码。

2.Driver:Spark中的Driver即运行上述Application的Main()函数并且创建SparkContext,SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和监控等

3.Cluster Manager:指的是在集群上获取资源的外部服务,Standalone模式下由Master负责,Yarn模式下ResourceManager负责;

4.Executor:是运行在工作节点Worker上的进程,负责运行任务,并为应用程序存储数据,是执行分区计算任务的进程;

5.RDD:Resilient Distributed Dataset弹性分布式数据集,是分布式内存的一个抽象概念;

6.DAG:Directed Acyclic Graph有向无环图,反映RDD之间的依赖关系和执行流程;

7.Job:作业,按照DAG执行就是一个作业;Job==DAG

8.Stage:阶段,是作业的基本调度单位,同一个Stage中的Task可以并行执行,多个Task组成TaskSet任务集

9.Task:任务,运行在Executor上的工作单元,一个Task计算一个分区,包括pipline上的一系列操作

7.2. 基本流程

●Spark运行基本流程
1.当一个Spark应用被提交时,首先需要为这个Spark Application构建基本的运行环境,即由任务控制节点(Driver)创建一个SparkContext,

2.SparkContext向资源管理器注册并申请运行Executor资源;

3.资源管理器为Executor分配资源并启动Executor进程,Executor运行情况将随着心跳发送到资源管理器上;

4.SparkContext根据RDD的依赖关系构建成DAG图,并提交给DAGScheduler进行解析划分成Stage,并把该Stage中的Task组成Taskset发送给TaskScheduler。

5.TaskScheduler将Task发放给Executor运行,同时SparkContext将应用程序代码发放给Executor。

6.Executor将Task丢入到线程池中执行,把执行结果反馈给任务调度器,然后反馈给DAG调度器,运行完毕后写入数据并释放所有资源。

7.3. 流程图解


7.4. 总结

1.Spark应用被提交–>SparkContext向资源管理器注册并申请资源–>启动Executor
2.RDD–>构建DAG–>DAGScheduler划分Stage形成TaskSet–>TaskScheduler提交Task–>Worker上的Executor执行Task


好了,以上内容就到这里了。不知道小编本篇内容有没有帮助到你呢。欢迎路过的朋友关注小编哦。各位朋友关注点赞是小编坚持下去的动力。小编会继续为大家分享更多的知识哦~~~。

我是DJ丶小哪吒。是一名互联网行业的工具人,小编的座右铭:“我不生产代码,我只做代码的搬运工”…哈哈哈,我们下期见哦,Bye~

别人能做到的事情,我也能做到。

看了这篇文章,妈妈再也不用担心我的学习了---spark原理相关推荐

  1. 自从看了这篇文章,妈妈再也不用担心我的学习了!!

    Vue部分小结 首先理清思路 代码展示 1.v-if以及{{}}代码展示 <body><div id="app" ><h1 v-bind:class= ...

  2. 《妈妈再也不用担心我的学习系列》之RabbitMQ动态修改队列名

    上一篇文章:<妈妈再也不用担心我的学习系列>之RabbitMQ快速入门 前言 在我们公司日常用RabbitMQ的时候如果多个服务都用到了队列,那么势必会有很多影响(如果不是广播模式队列是轮 ...

  3. 人工智能AI解奥数题,妈妈再也不用担心我的学习啦

    人工智能AI解奥数题,妈妈再也不用担心我的学习啦 原创 小智 大话人工智能 用人工智能求解奥数题 ▲▼◆■★ x ▽=★■◆▼▲   其中▲.▼.◆.■.★和▽ 分别是自然数.求▲.▼.◆.■.★和▽ ...

  4. 看了这篇文章,再也不用找人设计名片卡证啦!

    ps小白们看这里!是不是还在和我以前一样为了名片.证书.邀请函.....设计抠破头?是不是还在为这些小东西花钱找人设计?有了以下几个网站,再也不用走弯路啦! 1.爱给网(质量高 主打免费 全品类) 作 ...

  5. 玩物涨智:妈妈再也不用担心我的学习了

    早上逛国外网站的时候看到了一篇挺有意思的文章,描述的是提升人类智力的几种方法.其中包含了为中国父母们所深恶痛绝的电子游戏等方式. 下面对这几种方法做简要的描述如下: 运动有利于物体识别记忆.会释放脑源 ...

  6. 《妈妈再也不用担心我的学习系列》之RabbitMQ快速入门

    为什么要用RabbitMQ 因为我们有很多场景需要用到消息中间件,比如异步发送消息啥的啥的,这里我就不多做解释了,大家应该都会的啊(怪我太懒了~) 工欲善其事 必先利其器 这里我是用的我的docker ...

  7. scanf输入数组_清除C / C ++中的输入缓冲区,妈妈再也不用担心我的学习

    什么是缓冲区? 临时存储区称为缓冲区.所有标准输入和输出设备都包含一个输入和输出缓冲区.在标准C / C ++中,流被缓冲,例如在标准输入的情况下,当我们按键盘上的键时,它不会发送到您的程序,而是由操 ...

  8. 推荐几款Python编程类游戏,妈妈再也不用担心我的学习了

    自学过编程的小伙伴都知道,在学习的过程中,不仅仅要记下很多的知识点,而且那些知识点,都是非常的干,很干,很干,没有一点乐趣的感觉..... 所以在很多人学习Python的人,也许他的基础知识还没有学好 ...

  9. Visual studio 2019 支持graphics.h 库的支持,简单易懂,妈妈再也不用担心你的学习

    Visual studio 2019 支持graphics.h 库的支持 首先找到EasyX 的官网,传送门 请老爷们看下面操作 点击安装就可以,就可以写一段图形代码看看是否成功 例: #includ ...

最新文章

  1. fzu 2150 Fire Game 【身手BFS】
  2. Zend Framework一
  3. 通过forms来创建用户注册
  4. Xcodebuild自动打包
  5. linux下的常用命令
  6. IOS之学习笔记九(对象的初始化)
  7. POJ2689-Prime Distance【质数,数论】
  8. CSS的计数器:counter-increment与counter-reset
  9. oracle复制一个表的结构图,Oracle复制表结构
  10. python实例 69,70
  11. github-markdown-css使用说明
  12. 《微信小程序-进阶篇》组件封装-Icon组件的实现(二)
  13. 【考试总结】[CQOI2017]考试总结
  14. word里的图片用计算机画图,word绘图教程:图形工具介绍和使用方法-word技巧-电脑技巧收藏家...
  15. flash ActionScript快速入门(全部章节)
  16. 小坤二次元炫酷导航HTML源码
  17. (一)自学java必备技能开头篇:下载哔哩哔哩文件改名
  18. SPSS Modeler 建模前准备—数据平衡与特征选择(指南 第十一章)
  19. python将图片转换成动漫,python实现图片转换成素描和漫画格式
  20. SQLConverter SQLserver数据库转换为SQLLite数据库

热门文章

  1. 支付宝生活号关联小程序能力解读
  2. Ubuntu自动换源脚本
  3. html网页让字体浮动的颜色,HTML/CSS从零开始-常用属性(三)(示例代码)
  4. Spring Boot集成Quartz-动态任务管理
  5. Transactional mybatis plus 不生效
  6. HC32F460 RT-THREAD NANO环境搭建
  7. 视频教程-赵强老师:大数据从入门到精通(6)MapReduce-Hadoop
  8. 中国强制性产品认证CCC认证
  9. 2021年数维杯数学建模B题中小城市地铁运营与建设优化设计求解全过程文档及程序
  10. 工行网银自动退出[96111945]验证码输入错误或已经超时失效解决方案