关注公众号:分享电脑学习
回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)

承接上一篇文档《Standalone集群搭建和Spark应用监控

需要了解的概念

一、Spark应用的结构(Driver + Executors)

(一)、Driver:相当于MapReduce中ApplicationMaster,运行SparkContext上下文、SparkContext进行初始化的地方(JVM)、进行RDD的初始化、Task运行的资源申请、调度的地方,一般认为就是main运行的地方

(二)、Executors:具体的Task运行的地方,一个executor可以运行多个Task任务,一个spark应用可以有多个Executor

练习:

1、 local模式下没有启动SparkShell的情况下查看jps

2、 local模式下启动SparkShell的情况下查看jps

3、 启动集群模式查看jps

结论:

1、local模式:driver和executor运行在同一个进程(SparkSubmit),以线程的方式进行区分的。

2、集群模式:

Driver:SparkSubmit

Executor:CoarseGrainedExecutorBackend

练习:分别查看spark-shell和spark-submit命令可以找到下面的语句

1、 spark-shell底层运行的是spark-submit

2、 spark-submit底层执行的是spark-class

结论:每运行一个spark-submit,就相当于执行了一个Spark的Application

练习:

1、 执行词频统计前十(参考前面的课件)的语句(不执行collect),在浏览器查看ip:4040/jobs

2、 执行词频统计前十(参考前面的课件)的语句(执行collect),在浏览器查看ip:4040/jobs

3、 再执行一次上面的第二步,可以多运行几次查看

结论:Application,一个应用包含多个job

练习:点击ip:4040/jobs中的多个job,查看里面的信息

结论:一个Job里面包含多个Stage

练习:点击ip:4040/jobs中的多个Stage,查看里面的信息

结论:一个Stage里面可以包含多个Task。可以在词频统计前十中调用partition,查看分区个数,分区多数多的话 就可以有多个Task了

其中上面的结论补充(详细解释在后面慢慢讲解):

1、RDD的action类型的API一旦触发就会产生一个job,比如collect、take(10)、

2、有shuffle操作就会划分stage

3、Task就是最小的运行单位,是在executor处理对应分区数据的线程

Spark应用的结构的学习的更多相关文章

  1. Spark的Rpct模块的学习

    Spark的Rpct模块的学习 Spark的Rpc模块是1.x重构出来可,以前的代码中大量使用了akka的类,为了把akka从项目的依赖中移除,所有添加了该模块.先看下该模块的几个主要的类   使用E ...

  2. FFmpeg 结构体学习(二): AVStream 分析

    在上文FFmpeg 结构体学习(一): AVFormatContext 分析我们学习了AVFormatContext结构体的相关内容.本文,我们将讲述一下AVStream. AVStream是存储每一 ...

  3. FFmpeg 结构体学习(三): AVPacket 分析

    在上文FFmpeg 结构体学习(二): AVStream 分析我们学习了AVStream结构体的相关内容.本文,我们将讲述一下AVPacket. AVPacket是存储压缩编码数据相关信息的结构体.下 ...

  4. FFmpeg 结构体学习(四): AVFrame 分析

    在上文FFmpeg 结构体学习(三): AVPacket 分析我们学习了AVPacket结构体的相关内容.本文,我们将讲述一下AVFrame. AVFrame是包含码流参数较多的结构体.下面我们来分析 ...

  5. FFmpeg 结构体学习(五): AVCodec 分析

    在上文FFmpeg 结构体学习(四): AVFrame 分析我们学习了AVFrame结构体的相关内容.本文,我们将讲述一下AVCodec. AVCodec是存储编解码器信息的结构体.下面我们来分析一下 ...

  6. FFmpeg 结构体学习(六): AVCodecContext 分析

    在上文FFmpeg 结构体学习(五): AVCodec 分析我们学习了AVCodec结构体的相关内容.本文,我们将讲述一下AVCodecContext. AVCodecContext是包含变量较多的结 ...

  7. FFmpeg 结构体学习(七): AVIOContext 分析

    在上文FFmpeg 结构体学习(六): AVCodecContext 分析我们学习了AVCodec结构体的相关内容.本文,我们将讲述一下AVIOContext. AVIOContext是FFMPEG管 ...

  8. 对结构化学习(structured learning)的理解

    接触深度学习以来一直接触的概念都是回归,分类,偶尔接触到结构化学习的概念,似懂非懂的糊弄过去,实在是不负责的表现 翻阅维基百科https://en.wikipedia.org/wiki/Structu ...

  9. StreamDM:基于Spark Streaming、支持在线学习的流式分析算法引擎

    StreamDM:基于Spark Streaming.支持在线学习的流式分析算法引擎 streamDM:Data Mining for Spark Streaming,华为诺亚方舟实验室开源了业界第一 ...

随机推荐

  1. 离散数学3.1&&3.3

    离散数学 当前所使用的数字电脑是离散的,二进制指令,传输到内存 早先使用的模拟电脑是连续的 判断是否是命题(两个步骤)[不要跳步骤] 陈述句 要么是真命题要么是假命题 真假性 真:用T或1表示,假:用 ...

  2. wustctf2020_number_game

    第一次碰到这种类型的题目,特地来记录一下 例行检查就不放了 int的取值范围[-2147482648,2147483647] 网上的解释: 绕过第9行的if即可获取shell,v1是无符号整型,我们输 ...

  3. CTFHub[PWN技能树]——栈溢出

    文章目录 一.ret2text 二.ret2shellcode 一.ret2text 例行检查,64位程序,没有开启任何保护 本地运行一下情况,看看大概的情况 64位ida载入,检索程序里的字符串发现 ...

  4. [BUUCTF]PWN——axb_2019_fmt32

    axb_2019_fmt32 附件 步骤: 例行检查,32位程序,开启了nx保护 本地试运行一下程序,看看大概的情况 32位ida载入 alarm(),是闹钟函数,主要功能是设置信号传送闹钟,即用来设 ...

  5. Django 中间件理解

    中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 应用场景,对所有 ...

  6. Various methods for capturing the screen

    Explains techniques for capturing the screen programmatically. Download GDI source code - 72.1 Kb Do ...

  7. JAVAWEB使用FreeMarker利用ftl把含有图片的word模板生成word文档,然后打包成压缩包进行下载

    这是写的另一个导出word方法:https://www.cnblogs.com/pxblog/p/13072711.html 引入jar包,freemarker.jar.apache-ant-zip- ...

  8. 【LeetCode】245. Shortest Word Distance III 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典+暴力检索 日期 题目地址:https://lee ...

  9. 【LeetCode】22. Generate Parentheses 括号生成

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:括号, 括号生成,题解,leetcode, 力扣,Pyt ...

  10. 【剑指Offer】树的子结构 解题报告(Python)

    [剑指Offer]树的子结构 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目 ...