Apache spark Spark 2.4.3使用哪个Scala版本?

Apache spark Spark 2.4.3使用哪个Scala版本?,apache-spark,Apache Spark,我从自制的Mac OS上安装了Scala(版本2.12.8)和Spark(版本2.4.3)。我的机器上已经安装了Java1.8 当我启动spark shell时,我看到徽标上写着: Spark版本2.4.3,使用Scala版本2.11.12(Java HotSpot(TM)64位服务器虚拟机,Java 1.8.0144) 为什么说是Scala版本2.11.12而不是安装在我机器上的Scala(版本2.12.8) Spark 2.4.3是否随Scala 2.11.12一起提供 谢谢。如中所述: S

我从自制的Mac OS上安装了Scala(版本2.12.8)和Spark(版本2.4.3)。我的机器上已经安装了Java1.8

当我启动spark shell时,我看到徽标上写着:

Spark版本2.4.3,使用Scala版本2.11.12(Java HotSpot(TM)64位服务器虚拟机,Java 1.8.0144)

为什么说是Scala版本2.11.12而不是安装在我机器上的Scala(版本2.12.8)

Spark 2.4.3是否随Scala 2.11.12一起提供

谢谢。

如中所述:

Spark 2.4.3是包含稳定性修复的维护版本。本版本基于Spark的branch-2.4维护分支。我们强烈建议所有2.4用户升级到此稳定版本

请注意,2.4.3将默认Scala版本从Scala 2.12切换到Scala 2.11,这是除2.4.2之外的所有早期2.x版本的默认版本。这意味着,预构建的便利二进制文件是为Scala 2.11编译的。Spark仍然在Maven Central中为2.11和2.12交叉发布,并且可以从源代码为2.12构建


此外,您的计算机上碰巧安装的Scala版本完全不相关-Spark使用已用于编译它的Scala版本。

一旦我们开始编写Spark代码,我们需要在project中导入Spark core和Spark sql。如果未安装正确的版本,代码编译或运行时将失败,并且缺少定义

要选择spark和scala库的正确版本,请执行以下操作:

请参阅通过运行spark shell安装的spark版本。它显示了spark和scala版本。仅在项目中导入时使用这些版本

例如,在SBT中:Spark 2.4.5支持scala的2.11.12

libraryDependencies+=“org.apache.spark”%%“spark sql”%%“2.4.5”


ScalarAversion:=“2.11.12”

你们知道他们为什么切换回2.11吗?可能是因为他们意识到在Spark的一个小版本中切换主要的Scala版本(二进制不兼容)是个坏主意。