如何以编程方式在执行程序节点中查找 Spark 版本?



我正在尝试编写一个方法(将通过执行器运行(,该方法将以字符串形式返回Spark版本。我知道我可以通过以下代码找到 Spark 版本:

SparkSession.builder().getOrCreate().version (even on executor)

但是,当我运行测试(Apache Spark源代码中的测试是在我的之前编写的(时,某些测试失败并显示以下错误:

由以下原因引起:java.lang.IllegalStateException:SparkSession 只能在驱动程序上创建和访问。

所以,我知道我不能使用SparkSession。因此,我的问题是,还有其他方法可以在执行器中找到Spark版本吗?

我通过直接导入SPARK_VERSION解决了我的问题:

import org.apache.spark.SPARK_VERSION

还有一个选项可以传输我类中已有的配置版本。

最新更新