spark的学习1-11

发布时间 2024-01-11 11:57:23作者: 南北啊
大数据第36期打卡-Day9-p102-p106
学习笔记
Spark并行度
spark的并行:在同一时间内,有多少个tes k在同时运行
并行度:并行能力的设置
比如设置并行度6,其实是6个tast才并行在跑
在有了6个tast并行的前提下,rdd的分区被规划成6个分区
Driver的两个组件
DAG调度器
工作内容:将逻辑的DAG图进行处理,最终得到逻辑上的Test划分
Task调度器
工作内容:基于DAG Scheduler的产出,来规划这些逻辑的task应该在哪些物理的executor上运行,以及监控管理他们的运行
Spark运行中的概念名词大全
Application
用户代码提交到spark集群上运行的时候就是一个application了,一个application由一个Driver程序领导它的运行,同时伴有多个executor在执行中工作
Driver program
也就是driver程序,是整个程序管理main()方法的一个入口,同时,他也是整个程序的调度者和管理者,他负责构建sparkcontext
Executor
就是一个程序的运行启动器,在内部可以分配出task,有CPU资源和内存资源,相当于干活的
Task
工作线程运行在executor内,是最小的工作单元
job
一个并行化的计算集合,一个application中有多个job,job归属于application的
层级关系梳理
一个spark环境可运行多个application
一个代码运行起来会成为一个application application内部可以有多个job
每个job由一个action产生,并且每个job有自己的DAG执行图
一个job的DAG图会基于宽窄依赖划分成不同阶段
不同阶段内基于分区数量,形成多个并行的内存迭代管道
每一个内存迭代管道形成一个task(DAG调度器划分将job内划分出具体的task任务,一个job被划分出来的task在逻辑上称之为这个job的taskset)
DAG是什么?有什么用?
DAG有向无环图,用以描述任务执行流程,主要作用是协助DAG调度器构建task分配用以做任务管理
内存迭代阶段划分
基于DAG的宽窄依赖划分阶段,阶段内部都是窄依赖,可以构建内存迭代的管道
DAG调度器是?
构建task分配用以做任务管理
学习心得:打卡