版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SparkShuffle解析ShuffleMapStage与ResultStageShuffle中的任务个数reduce端数据的读取/01基本介绍
ShuffleMapStage与ResultStageShuffleMapStage与ResultStage
在划分stage时,最后一个stage称为finalStage,它本质上是一个ResultStage对象,前面的所有stage被称为ShuffleMapStage。ShuffleMapStage的结束伴随着shuffle文件的写磁盘。ResultStage基本上对应代码中的action算子,即将一个函数应用在RDD的各个partition的数据集上,意味着一个job的运行结束。/02基本介绍
Shuffle中的任务个数SparkShuffle分为map阶段和reduce阶段,或者称之为ShuffleRead阶段和ShuffleWrite阶段,那么对于一次Shuffle,map过程和reduce过程都会由若干个task来执行,那么maptask和reducetask的数量是如何确定的呢?
假设Spark任务从HDFS中读取数据,那么初始RDD分区个数由该文件的split个数决定,也就是一个split对应生成的RDD的一个partition,我们假设初始partition个数为N。Shuffle中的任务个数(一)
初始RDD经过一系列算子计算后(假设没有执行repartition和coalesce算子进行重分区,则分区个数不变,仍为N,如果经过重分区算子,那么分区个数变为M),我们假设分区个数不变,当执行到Shuffle操作时,map端的task个数和partition个数一致,即maptask为N个。Reduce端的stage默认取spark.default.parallelism这个配置项的值作为分区数,如果没有配置,则以map端的最后一个RDD的分区数作为其分区数(也就是N),那么分区数就决定了reduce端的task的个数。Shuffle中的任务个数(二)/03基本介绍
reduce端数据的读取
根据stage的划分我们知道,map端task和reduce端task不在相同的stage中,maptask位于ShuffleMapStage,reducetask位于ResultStage,maptask会先执行,那么后执行的reducetask如何知道从哪里去拉取maptask落盘后的数据呢?reduce端数据的读取(一)reduce端的数据拉取过程如下:maptask执行完毕后会将计算状态以及磁盘小文件位置等信息封装到MapStatus对象中,然后由本进程中的MapOutPutTrackerWorker对象将mapStatus对象发送给Driver进程的MapOutPutTrackerMaster对象;
在reducetask开始执行之前会先让本进程中的MapOutputTrackerWorker向Driver进程中的MapoutPutTrakcerMaster发动请求,请求磁盘小文件位置信息;reduce端数据的读取(二)
当所有的Maptask执行完毕后,Driver进程中的MapOutPutTrackerMaster就掌握了所有的磁盘小文件的位置信息。
此时MapOutPutTrackerMaster会告诉MapOutPutTrackerWorker磁盘小文件的位置信息;
完成之前的操作之后,由BlockTransforService去Executor0所在的节点拉数据,默认会启动五个子线程。每次拉取的数据量不能超过48M(reducetask每次最多拉取48M数据,将拉来的数据存储到Executor内存的20%内存中)。reduce端数据的读取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年铜仁幼儿师范高等专科学校单招职业适应性测试模拟试题及答案解析
- 医疗质量评估与绩效考核
- 2026年江西农业工程职业学院单招职业适应性测试模拟试题及答案解析
- 2026年长江职业学院单招职业适应性考试模拟试题及答案解析
- 手术室护理培训要点
- 胶质母细胞瘤护理
- 2026年教师资格证(小学-音乐)自测试题及答案
- 2025安徽马鞍山市住房公积金管理中心编外聘用人员招聘3人模拟笔试试题及答案解析
- 2026安徽阜阳市界首市征兵模拟笔试试题及答案解析
- 2025中国葛洲坝集团第一工程有限公司招聘22人备考笔试题库及答案解析
- 假膜性结肠炎汇报演示课件
- 专项基金合作协议书
- 单人徒手心肺复苏操作评分表(医院考核标准版)
- 国家预算实验报告
- 蒸汽品质检测仪安全操作规定
- 设备综合效率OEE统计表(使用)
- 附件1:中国联通动环监控系统B接口技术规范(V3.0)
- 闭合性颅脑损伤病人护理查房
- 《立血康软胶囊研究6400字(论文)》
- GB/T 19216.21-2003在火焰条件下电缆或光缆的线路完整性试验第21部分:试验步骤和要求-额定电压0.6/1.0kV及以下电缆
- 活体动物体内成像技术课件
评论
0/150
提交评论