You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Spark 2.1.2中(广播)Join查询的作业与Stage数量?

查看Spark广播Join的作业与Stage数量

嘿,我来帮你一步步搞清楚怎么在Spark UI里找到你这个Join查询的作业和Stage数量~

一、先打开Spark UI

你用spark-shell --master local启动的话,Spark默认会在本地开启UI服务,默认端口是4040。直接打开浏览器输入http://localhost:4040就能访问啦。要是4040被别的程序占了,Spark会自动用4041、4042这类端口,你可以去spark-shell的启动日志里找类似「Started SparkUI at http://xxx:xxxx」的日志行,那里面的地址就是UI的入口。

二、查看作业(Jobs)数量

  • 进入UI后,点击顶部的Jobs标签页。
  • 这里要注意哦:Spark是懒执行的!你写的Join和Select代码只是定义了转换逻辑,只有当你调用show()、count()这类action操作时,才会真正提交作业运行。所以你得先触发action,Jobs标签里才会出现对应的作业。
  • 像你这种简单的Join+Select操作,一般只会生成1个作业。你看Jobs列表里的条目数,就是作业的数量啦。

三、查看Stage数量

  • 你可以点Jobs标签里对应作业的描述链接,或者直接切换到顶部的Stages标签页。
  • 因为你用的是广播Join(Spark会自动判断小表并广播,或者你也可以手动用broadcast()函数指定),这个过程会分成两个Stage:
    • 第一个Stage是专门用来广播小DataFrame的,任务类型会标注类似broadcast;
    • 第二个Stage是执行实际的left outer Join和Select操作的。
  • 所以你在Stages列表里数一下,就能看到总共有2个Stage啦。每个Stage的详情里还能看到任务数、处理的数据量,帮你确认广播Join是不是真的在运行。

小补充:确认广播Join是否生效

要是你想确认这个Join确实是广播Join,可以去Stages的详情里看算子描述,会出现BroadcastHashJoin的字样;另外Spark 2.x的UI里有SQL标签,进去能看到查询的执行计划,里面也会明确显示BroadcastHashJoin节点。

内容的提问来源于stack exchange,提问作者sujit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:03:10