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

如何打印SparkSession的Spark连接及Spark Master主机名等详情?

嘿,这两个问题其实都能通过Spark提供的API轻松搞定,我来给你拆解说明:

1. 如何打印SparkSession对应的Spark连接信息?

SparkSession的底层依赖SparkContext,我们可以通过它或者SparkSession的配置对象来获取各类连接相关信息,这里有几种实用方法:

  • 查看核心连接属性
    直接调用spark.sparkContext的内置属性,就能拿到最关键的连接信息:
# 打印Spark Master的连接地址
print("Spark Master地址:", spark.sparkContext.master)
# 打印当前Spark应用名称
print("应用名称:", spark.sparkContext.appName)
# 打印使用的Spark版本
print("Spark版本:", spark.sparkContext.version)
# 打印应用的部署模式(本地/集群)
print("部署模式:", spark.sparkContext.deployMode)
  • 筛选连接相关的配置项
    SparkSession的conf对象存储了所有配置参数,我们可以筛选出和连接相关的内容:
# 遍历所有配置,只打印和Master、Driver相关的项
for key, value in spark.conf.getAll():
    if "master" in key.lower() or "spark.driver" in key.lower():
        print(f"{key}: {value}")
  • 获取Spark UI链接查看详细信息
    Spark UI里包含了更全面的集群连接、任务运行等信息,你可以通过代码直接拿到UI的访问地址:
print("Spark UI访问链接:", spark.sparkContext.uiWebUrl)
2. 执行pyspark命令获得spark变量后,能否打印连接详细信息(含Spark Master主机名)?

当然可以!而且获取Master主机名的方法非常直接:

通过spark.sparkContext.master就能拿到完整的Master连接地址,如果是集群模式,格式一般是spark://host:port,我们可以直接提取其中的主机名部分:

# 打印完整的Master连接地址
master_full_addr = spark.sparkContext.master
print("Spark Master完整地址:", master_full_addr)

# 提取Master主机名(针对集群模式)
if master_full_addr.startswith("spark://"):
    master_host = master_full_addr.split("//")[1].split(":")[0]
    print("提取的Spark Master主机名:", master_host)

另外,如果你想查看Driver和Master通信的地址,也可以用这个方法:

print("Driver节点地址:", spark.sparkContext.driverAddress)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:20:15