梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。

输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block
当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。
随后将为这些输入分片生成具体的Task。InputSplit与Task是一一对应的关系。
随后这些具体的Task每个都会被分配到集群上的某个节点的某个Executor去执行。

  • 每个节点可以起一个或多个Executor。
  • 每个Executor由若干core组成,每个Executor的每个core一次只能执行一个Task。
  • 每个Task执行的结果就是生成了目标RDD的一个partiton

注意: 这里的core是虚拟的core而不是机器的物理CPU核,可以理解为就是Executor的一个工作线程。

而 Task被执行的并发度 = Executor数目 * 每个Executor核数。

至于partition的数目:

  • 对于数据读入阶段,例如sc.textFile,输入文件被划分为多少InputSplit就会需要多少初始Task。
  • 在Map阶段partition数目保持不变。
  • 在Reduce阶段,RDD的聚合会触发shuffle操作,聚合后的RDD的partition数目跟具体操作有关,例如repartition操作会聚合成指定分区数,还有一些算子是可配置的。

1,Application

application(应用)其实就是用Spark-submit提交的程序。比方说spark examples中的计算pi的SparkPi。一个application通常包含三部分:从数据源(比方说HDFS)取数据形成RDD,通过RDD的transformation和action进行计算,将结果输出到console或者外部存储(比方说collect收集输出到console)。

2,Driver

Spark中的driver感觉其实和yarn中Application Master的功能相类似。主要完成任务的调度以及和executor和cluster manager进行协调。有client和cluster联众模式。client模式driver在任务提交的机器上运行,而cluster模式会随机选择机器中的一台机器启动driver。从spark官网截图的一张图可以大致了解driver的功能。

3,Job

Spark中的Job和MR中Job不一样不一样。MR中Job主要是Map或者Reduce Job。而Spark的Job其实很好区别,一个action算子就算一个Job,比方说count,first等。

4, Task

Task是Spark中最新的执行单元。RDD一般是带有partitions的,每个partition的在一个executor上的执行可以任务是一个Task。

5, Stage

Stage概念是spark中独有的。一般而言一个Job会切换成一定数量的stage。各个stage之间按照顺序执行。至于stage是怎么切分的,首选得知道spark论文中提到的narrow dependency(窄依赖)和wide dependency( 宽依赖)的概念。其实很好区分,看一下父RDD中的数据是否进入不同的子RDD,如果只进入到一个子RDD则是窄依赖,否则就是宽依赖。宽依赖和窄依赖的边界就是stage的划分点

Spark 名词解释相关推荐

  1. 常见算子使用_spark快速入门(二)spark粗略流程简述及常见名词解释

    大家元旦快乐,牛年发发发~~牛气冲天o(* ̄︶ ̄*)o spark粗略流程简述 (1)有算子触发Action,Driver端和hdfs的namenode进行通信,询问元数据信息.根据元数据信息 及相应 ...

  2. kylin分析引擎:运行原理、维度和Cube等名词解释、核心算法

    架构 kylin是一款分析引擎,最常用的数据源是Hive.1.5版本之后数据源增加了kafka,但最常用的仍然是Hive.但是Hive查询比较慢,Kylin解决了这一问题. 大致流程: 第一步:从Hi ...

  3. 【EMC】电磁兼容性相关名词解释、基础知识

    一.名词解释 1.EMC EMC(Electro Magnetic Compatibility)直译是"电磁兼容性".意指设备所产生的电磁能量既不对其它设备产生干扰,也不受其他设备 ...

  4. 名词解释_写字楼租赁相关名词解释

    对于租赁写字楼的租户来说,那些繁琐的合同是很令人头疼的.有时候连最基础的一些问题还没得到解决,就要面对一堆复杂的文书,会使租赁写字楼的租户开始迟疑.那么在这里我们给大家科普一下关于写字楼租赁你需要知道 ...

  5. 计算机组成原理名词解释常用,2018考研408计算机组成原理名词解释(3)

    2018考研408计算机组成原理名词解释(3) 2017-09-29 16:02 | 考研集训营 随着时代的快速发展,任何行业都离不开网络,导致计算机行业近几年非常的火热,使各大高校竞相争抢优秀人才, ...

  6. 神经网络相关名词解释

    神经网络相关名词解释 这篇文章的目的是把之前概念理解的名词用公式记忆一下. 1. 正则化 1.0 过拟合 这是正则化主要解决的问题. 过拟合现象主要体现在accuracy rate和cost两方面: ...

  7. 稀有名词解释——Java 堆污染(犄角旮旯问题)

    稀有名词解释--Java 堆污染(犄角旮旯问题) 有些面试官喜欢问一些稀有名词,彰显其渊博的知识背景. 所谓堆污染,简单的说就是当一个泛型类型变量赋值给不是泛型类型变量,这种错误在编译期间能被编译器警 ...

  8. 药理学css概念,药理学css 名词解释

    药理学css这个名词解释: 稳态血药浓度 网络steady state plasma concentration: steady-state concentration: steady-statepl ...

  9. 计算机组成名词解释移码,自考“计算机组成原理”串讲资料

    硬盘的存储容量常用 GB 表示,1GB=1024MB: 第2章 数据编码和数据运算 一.名词解释: 历年真题: (2001年,2002年)基数:在浮点数据编码中,对阶码所代表的指数值的数据,在计算机中 ...

  10. 名词解释_名词解释的答题技巧

    名词解释是文常考试形式的一种,这种题型具有一定的主观性,不像填空题,选择题,答案只有对与错,所以有时候对名词解释真的没办法,能写出什么就尽量发挥.但名词解释不管是统考还是校考都会考,并且分值都不低,可 ...

最新文章

  1. 四、MySql七个查询命令中哪些命令执行效率过慢
  2. admui 能再php上用吗,Javascript 方法
  3. JVM04内存结构概述
  4. node软件环境安装
  5. 城管威逼交警“让老百姓笑话”
  6. 【bzoj4145】[AMPPZ2014]The Prices 状压dp
  7. [中级]Java命令学习系列(五)——jhat
  8. 【leetcode刷题笔记】Excel Sheet Column Number
  9. 华尔街宫斗戏升温:银行巨头和纽交所争夺交易数据所有权
  10. MySQL (1)---概述
  11. 使C#代码现代化——第一部分:属性
  12. 拓扑一致体参数化的复杂模型的等几何分析计算重用
  13. java jvisualvm linux,从Linux JDK中发出jvisualvm时出现乱码
  14. 原来awt是可以设置多个frame
  15. UVa11809-Floating-Point Numbers
  16. 在博客园cnblogs的博客内容之中显示地图(测试中)
  17. Moodle安装指导手册
  18. idea视图化配置html页面,IntelliJ IDEA:配置JavaScript库
  19. java word 添加水印图片_Java添加Word文本水印和图片水印
  20. eplan 电箱布局_Eplan3D布局步骤解密

热门文章

  1. 为什么说10月24日是程序员的节日?
  2. [转载]Android开发网上的一些重要知识点
  3. TensorBoard Projector 简易指南
  4. 【Unity3D】使用 FBX 格式的外部模型 ③ ( FBX 模型中的材质重映射 | FBX 模型使用外部材质 | FBX 模型的分解重组 )
  5. 计算机键盘在哪里,电脑键盘上的Pause键在哪?
  6. VR Masterclass
  7. Java 中status意思_java web开发中 varStatues=quot;statusquot; 中参数status是啥作用和意思呢?这个参数的设置有啥要求呢?...
  8. 应用Scratchbox构建基于CF卡的嵌入式Linux系统
  9. Win7怎么进入注册表(regedit)
  10. 【报表福利大放送】100余套报表模板免费下