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

时间:2018-08-28 10:23:57

标签: java scala apache-spark apache-spark-sql

我正在尝试编写一个将通过字符串返回Spark版本的方法(将通过执行程序运行)。我知道可以使用以下代码找到Spark版本:

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

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

  

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

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

1 个答案:

答案 0 :(得分:1)

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

import org.apache.spark.SPARK_VERSION

我的班级中已经有一个选项可以传输带有配置的版本。