当前位置: 首页 > news >正文

spark- ResultStage 和 ShuffleMapStage介绍

目录

    • 1. ShuffleMapStage(中间阶段)
      • 1.1 作用
      • 1.2 核心特性
      • 1.3 示例
    • 2. ResultStage(最终结果阶段)
      • 2.1 作用
      • 2.2 核心特性
      • 2.3 示例
    • 3. 对比总结
    • 4. 执行流程示例
    • 5. 常见问题
      • Q1:为什么需要区分两种 Stage?**
      • Q2:如何手动观察 Stage 划分?
      • Q3:ShuffleMapStage 的数据一定会落盘吗?

在 Spark 的 DAG 调度模型中,Stage 被划分为 ResultStageShuffleMapStage 两类,它们的核心区别在于在计算流程中的角色数据输出方式。以下是详细解析:

1. ShuffleMapStage(中间阶段)

1.1 作用

  • 为后续 Stage 准备数据:负责处理 Shuffle 操作的上游数据,输出结果会被分区并写入磁盘(或内存),供下游 Stage 读取。
  • 典型场景:所有需要 Shuffle 的操作(如 groupByKeyreduceByKeyjoin 等)。

1.2 核心特性

特性说明
输出数据写入 Shuffle 文件(存储在 Executor 本地或分布式存储)
依赖关系可能有多个下游 Stage 依赖它(宽依赖)
任务类型生成 ShuffleMapTask,任务完成后会返回 MapStatus(记录输出文件位置)
生命周期临时性阶段,数据被下游消费后即可释放

1.3 示例

# 以下操作会生成 ShuffleMapStage
rdd = sc.parallelize([(1, "A"), (2, "B"), (1, "C")])
shuffled = rdd.groupByKey()  # 触发Shuffle

执行流程

  1. 上游数据按 Key 分区 → 2. 写入本地 Shuffle 文件 → 3. 下游 Stage 拉取数据

2. ResultStage(最终结果阶段)

2.1 作用

  • 生成最终结果:执行 Action 操作(如 count()collect()saveAsTextFile()),将计算结果返回 Driver 或写入外部存储。
  • 典型场景:所有触发作业执行的 Action 操作。

2.2 核心特性

特性说明
http://www.xdnf.cn/news/689365.html

相关文章:

  • 力扣HOT100之回溯:51. N 皇后
  • 电脑长期不关机会怎样?
  • 「Python教案」通用序列操作
  • 股指期货的基差跟升贴水概念
  • 力扣-找到字符串中所有字母异位符
  • JDBC+HTML+AJAX实现登陆和单表的CRUD
  • 互联网大厂Java求职面试:AI大模型推理服务性能优化与向量数据库分布式检索
  • linux 性能优化-内存
  • windows安装启动elasticsearch
  • Linux之高效文本编辑利器 —— vim
  • 家用热水器用户行为分析与事件识别
  • 微信小程序页面嵌套web-view点击系统导航返回时进行弹窗处理
  • nt!CcGetVacbMiss函数分析之设置好nt!_VACB然后调用函数nt!SetVacb
  • LiveWallpaperMacOS:让你的 Mac 桌面动起来
  • Mac完美终端(iterm2 + oh my zash + tmux+ControlMaster)
  • Axure项目实战:运输统计页引入echarts实现高保真设计(JS代码ctrl+c ctrl+v懂得来)
  • OpenHarmony定制系统组合按键(二)
  • Pytest 是什么
  • 进阶知识:Selenium底层原理深度解析
  • Grafana-Gauge仪表盘
  • 5.28 后端面经
  • docker部署redis mysql nacos seata rabbitmq minio onlyoffice nginx实战
  • 20250528-C#知识:枚举
  • 20250528-C#知识:结构体
  • C# Socket对象创建方式详解
  • C接口 中文字符问题
  • 针对C++开发工具推荐及分析(涵盖IDE、编译器、调试工具和辅助工具)
  • 电脑开机后出现bootmgr is conmpressed原因及解决方法
  • 【Redis】基本架构
  • Dockerfile 构建优化的方法