Spark UI 的核心功能与架构
Spark UI 是 Spark 内置的 Web 界面,默认端口为 4040,提供作业执行的实时监控和历史记录查看。主要功能模块包括:
- Jobs:显示所有作业的列表、状态及执行计划
- Stages:展示作业分阶段执行详情,包括任务数量、耗时等
- Storage:显示 RDD 缓存情况和内存使用量
- Environment:展示 Spark 配置参数和环境变量
- Executors:提供执行器资源使用情况监控
启动 Spark 应用后,通过 http://<driver-node>:4040 即可访问界面。对于长时间运行的集群,可通过 spark.eventLog.enabled=true 配置历史日志记录。
Jobs 页面深度解析
Jobs 页面是性能调优的第一入口,包含以下关键指标:
- Duration:作业从提交到完成的总耗时
- Stages:作业包含的阶段数及完成状态
- Progress:通过进度条直观显示完成比例
示例代码提交后可在 UI 观察作业划分:
val data = spark.range(1, 10000000)
val transformed = data.filter(_ % 2 == 0).groupBy("id").count()
transformed.show()
该操作会生成两个 Jobs:一个用于执行 show() 触发计算,另一个用于展示数据。通过 DAG 可视化可以清晰看到 filter 和 groupBy 操作的执行顺序。
Stages 页面的性能诊断
每个 Stage 页面提供三个关键维度数据:
- Summary Metrics:所有任务的统计指标(最小值/中位数/最大值)
- Event Timeline:
Spark UI 的核心功能与架构
Spark UI 是 Spark 内置的 Web 界面,默认端口为 4040,提供作业执行的实时监控和历史记录查看。主要功能模块包括:
- Jobs:显示所有作业的列表、状态及执行计划
- Stages:展示作业分阶段执行详情,包括任务数量、耗时等
- Storage:显示 RDD 缓存情况和内存使用量
- Environment:展示 Spark 配置参数和环境变量
- Executors:提供执行器资源使用情况监控
启动 Spark 应用后,通过 http://<driver-node>:4040 即可访问界面。对于长时间运行的集群,可通过 spark.eventLog.enabled=true 配置历史日志记录。
Jobs 页面深度解析
Jobs 页面是性能调优的第一入口,包含以下关键指标:
- Duration:作业从提交到完成的总耗时
- Stages:作业包含的阶段数及完成状态
- Progress:通过进度条直观显示完成比例
示例代码提交后可在 UI 观察作业划分:
val data = spark.range(1, 10000000)
val transformed = data.filter(_ % 2 == 0).groupBy("id").count()
transformed.show()
该操作会生成两个 Jobs:一个用于执行 show() 触发计算,另一个用于展示数据。通过 DAG 可视化可以清晰看到 filter 和 groupBy 操作的执行顺序。
Stages 页面的性能诊断
每个 Stage 页面提供三个关键维度数据:
- Summary Metrics:所有任务的统计指标(最小值/中位数/最大值)
- Event Timeline:
687

被折叠的 条评论
为什么被折叠?



