我正在尝试编写一个将通过字符串返回Spark版本的方法(将通过执行程序运行)。我知道可以使用以下代码找到Spark版本:
SparkSession.builder().getOrCreate().version (even on executor)
但是,当我运行测试时(Apache Spark源代码中的测试是在我的测试之前编写的),某些测试失败并显示以下错误:
由以下原因引起:java.lang.IllegalStateException:仅应在驱动程序上创建和访问SparkSession。
因此,我知道我无法使用SparkSession。因此,我的问题是,还有其他方法可以在执行程序中找到Spark版本吗?
答案 0 :(得分:1)
我通过直接导入SPARK_VERSION解决了我的问题:
import org.apache.spark.SPARK_VERSION
我的班级中已经有一个选项可以传输带有配置的版本。