boxmoe_header_banner_img

Hello! 欢迎来到悠悠畅享网!

文章导读

如何查看 Spark Core 的版本(非 PySpark)


avatar
作者 2025年8月22日 23

如何查看 Spark Core 的版本(非 PySpark)

本文将介绍如何在不依赖 Pyspark 的情况下,准确获取 Spark Core 的版本信息。针对在 yarn 集群上运行 Spark 的场景,提供了一种简单有效的方法,即通过 Spark sql 的 version() 函数,直接查询 Spark Core的版本号,并附带 Javapython 的代码示例,方便读者快速上手实践。

在 Spark 环境中,有时需要确定 Spark Core 的版本,尤其是在 PySpark 版本与集群中安装的 Spark Core 版本不一致的情况下。虽然可以通过 pyspark.__version__、ss.version、sc.version 或 ./bin/spark-submit –version 获取 PySpark 的版本,但这些方法并不能直接提供 Spark Core 的版本信息。

从 Spark 3.0 开始,Spark SQL 提供了一个内置函数 version(),可以直接查询 Spark Core 的版本。以下分别介绍 Java 和 Python 中的使用方法。

Java 示例

以下 Java 代码展示了如何使用 version() 函数获取 Spark Core 的版本:

import org.apache.spark.sql.SparkSession;  public class SparkVersion {     public static void main(String[] args) {         SparkSession spark = SparkSession.builder()                 .config("spark.master", "local[*]")                 .getOrCreate();          spark.sql("select version()").show();          spark.close();     } }

这段代码首先创建一个 SparkSession 对象,然后执行 SQL 查询 select version(),最后将结果打印到控制台。 输出结果类似如下:

+--------------------+ |           version()| +--------------------+ |3.3.2 5103e00c4ce...| +--------------------+

Python 示例

对于 Spark 3.5 及更高版本,Python API 也支持 version() 函数。以下是 Python 示例代码:

from pyspark.sql.functions import version from pyspark.sql import SparkSession  spark = SparkSession.builder.appName("SparkVersion").getOrCreate()  df = spark.range(1) df.select(version()).show(truncate=False)  spark.stop()

这段代码首先创建一个 SparkSession 对象,然后创建一个包含单个元素的 DataFrame,并使用 version() 函数查询 Spark Core 的版本,最后将结果打印到控制台。输出结果类似如下:

+----------------------------------------------+ |version()                                     | +----------------------------------------------+ |3.5.0 cafbea5b13623276517a9d716f75745eff91f616| +----------------------------------------------+

注意事项

  • 确保你的 Spark 版本在 3.0 及以上,Python API 的支持则需要 3.5 及以上。
  • version() 函数返回的字符串包含 Spark 的版本号以及构建信息。

总结

通过 Spark SQL 的 version() 函数,可以方便快捷地获取 Spark Core 的版本信息,避免了依赖 PySpark 版本带来的不确定性。无论是在 Java 还是 Python 环境中,都可以轻松使用该函数,从而更好地管理和维护 Spark 集群。



评论(已关闭)

评论已关闭

text=ZqhQzanResources