Spark名词解释及关系

简介:

随着对spark的业务更深入,对spark的了解也越多,然而目前还处于知道的越多,不知道的更多阶段,当然这也是成长最快的阶段。这篇文章用作总结最近收集及理解的spark相关概念及其关系。

名词

driver

driver物理层面是指输入提交spark命令的启动程序,逻辑层面是负责调度spark运行流程包括向master申请资源,拆解任务,代码层面就是sparkcontext。

worker

worker指可以运行的物理节点。

executor

executor指执行spark任务的处理程序,对java而言就是拥有一个jvm的进程。一个worker节点可以运行多个executor,只要有足够的资源。

job

job是指一次action,rdd(rdd在这里就不解释了)操作分成两大类型,一类是transform,一类是action,当涉及到action的时候,spark就会把上次action之后到本次action的所有rdd操作用一个job完成。

stage

stage是指一次shuffle,rdd在操作的时候分为宽依赖(shuffle dependency)和窄依赖(narraw dependency),如下图所示。而宽依赖就是指shuffle。

应某人要求再解释一下什么是窄依赖,就是父rdd的每个分区都只作用在一个子rdd的分区中,原话是这么说的 each partition of the parent RDD is used by at most one partition of the child RDD。

task

task是spark的最小执行单位,一般而言执行一个partition的操作就是一个task,关于partition的概念,这里稍微解释一下。

spark的默认分区数是2,并且最小分区也是2,改变分区数的方式有很多,大概有三个阶段

1.启动阶段,通过 spark.default.parallelism 来初始化默认分区数

2.生成rdd阶段,可通过参数配置

3.rdd操作阶段,默认继承父rdd的partition数,最终结果受shuffle操作和非shuffle操作的影响,不同操作的结果partition数不同

名词关系

物理关系

官网给出的spark运行架构图

逻辑关系

下图是总结的逻辑关系图,如果有不对之处,还望提醒。


本文作者:小数点

来源:51CTO

相关文章
|
分布式计算 并行计算 数据处理
|
存储 分布式计算 大数据
Spark 原理_运行过程_stage 和 task 的关系 | 学习笔记
快速学习 Spark 原理_运行过程_stage 和 task 的关系
215 0
Spark 原理_运行过程_stage 和 task 的关系 | 学习笔记
|
分布式计算 大数据 调度
Spark 原理_运行过程_Job 和 Stage 的关系 | 学习笔记
快速学习 Spark 原理_运行过程_Job 和 Stage 的关系
174 0
Spark 原理_运行过程_Job 和 Stage 的关系 | 学习笔记
|
存储 分布式计算 大数据
Spark 原理_逻辑图_RDD 之间的关系_一对一 | 学习笔记
快速学习 Spark 原理_逻辑图_RDD 之间的关系_一对一
132 0
Spark 原理_逻辑图_RDD 之间的关系_一对一 | 学习笔记
|
SQL 存储 机器学习/深度学习
Hadoop、Hive、Spark 之间的关系?
今天我们就对 Hadoop、Hive、Spark 做下分析对比。
880 0
Hadoop、Hive、Spark 之间的关系?
|
分布式计算 Spark 存储
Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系
梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。
1597 0
|
分布式计算 Spark 流计算
|
存储 分布式计算 Scala
Apache Spark源码走读(六)Task运行期之函数调用关系分析 &存储子系统分析
本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚运行着的task其输入的数据从哪获取,处理的结果返回到哪里,如何返回;以及对存储子系统进行分析 。
2654 0
|
1月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
143 2
ClickHouse与大数据生态集成:Spark & Flink 实战