Spark专题-第三部分:性能监控与实战优化(1)-认识spark ui

Spark专题-第三部分:性能监控与实战优化(1)-spark ui

Spark UI 概述

Spark UI 是 Spark 提供的 Web 监控界面,用于实时查看应用程序的执行状态、性能指标和资源配置。

各模块详细解析

1. Jobs 页面

核心信息区域
复制代码
**User:** inno                    # 提交作业的用户
**Total Uptime:** 34 min         # 应用总运行时间
**Scheduling Mode:** FIFO        # 调度模式(FIFO/FAIR)
**Completed Jobs:** 48           # 已完成的作业数量
主要功能区域
  • Event Timeline:作业执行时间线可视化
  • Completed Jobs:已完成作业列表,显示执行详情

2. SQL/DataFrame 页面

表格字段说明
sql 复制代码
-- 各列含义解析
ID *           : SQL查询的唯一标识符
Description    : 查询描述(通常显示触发查询的代码位置)
Submitted      : 查询提交时间
Duration       : 查询执行耗时
Job IDs        : 关联的Spark Job ID列表
性能分析要点
  • 查询38:执行仅10ms,属于高效查询
  • 查询37:耗时4.5分钟,可能存在性能瓶颈
  • 查询34:关联多个Job([39][48][41][42]),涉及复杂计算

3. Environment 页面

配置分类
复制代码
Spark Properties    : Spark核心配置参数
Runtime Information : 运行时环境信息
关键配置参数
python 复制代码
# 内存相关配置
spark.buffer.pageSize     = 65536      # 内存页大小
spark.broadcast.blockSize = 65536      # 广播变量块大小

# 动态分配配置
spark.dynamicAllocation.enabled = true  # 启用动态资源分配

# 序列化配置
spark.serializer = ...                 # 序列化器设置

实际SQL执行案例解析

案例:用户行为分析查询

sql 复制代码
-- 实际执行的Spark SQL
SELECT 
    user_id,
    COUNT(*) as action_count,
    AVG(duration) as avg_duration
FROM user_actions 
WHERE event_date = '2025-09-04'
  AND action_type IN ('click', 'view')
GROUP BY user_id
HAVING COUNT(*) > 10
ORDER BY action_count DESC
LIMIT 100;

在Spark UI中的对应显示

SQL提交 SQL/DataFrame页面-记录查询信息 生成执行计划-拆分为多个Jobs Jobs页面-显示Job执行详情 Stage页面-显示任务阶段划分 Storage页面-显示数据缓存情况 Environment页面-显示配置参数

性能优化洞察

  1. 查询37耗时分析

    • 4.5分钟执行时间表明可能存在数据倾斜
    • 关联Job[48][46]需要进一步分析Stage详情
  2. 配置优化建议

    python 复制代码
    # 针对大数据集的优化配置
    spark.conf.set("spark.sql.adaptive.enabled", "true")           # 启用自适应查询
    spark.conf.set("spark.sql.adaptive.coalescePartitions.enabled", "true")  # 自动合并分区
    spark.conf.set("spark.sql.adaptive.skew.enabled", "true")      # 处理数据倾斜

这一篇主要是对spark ui的界面熟悉一下,后面会举出实际的案例进行性能优化

相关推荐
阿里云大数据AI技术4 小时前
用 SQL 调大模型?Hologres + 百炼,让数据开发直接“对话”AI
sql·llm
字节跳动数据平台10 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术11 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康13 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康1 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天1 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
肌肉娃子4 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn
spark
武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet