Spark 2.4.3使用哪个Scala版本?

时间:2019-05-18 08:25:04

标签: apache-spark

我从自制软件在Mac OS上安装了Scala(版本2.12.8)和Spark(2.4.3)。我的机器上已经安装了Java 1.8。

当我启动spark-shell时,我看到徽标说:

Spark版本2.4.3,使用Scala版本2.11.12(Java HotSpot(TM)64位服务器VM,Java 1.8.0_144)

为什么说我的计算机上安装了Scala版本2.11.12而不是Scala(版本2.12.8)?

Spark 2.4.3随附Scala 2.11.12吗?

谢谢。

2 个答案:

答案 0 :(得分:4)

一旦开始编写Spark代码,我们需要在项目中导入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”

scalaVersion:=“ 2.11.12”

答案 1 :(得分:1)

the release notes中所述:

  

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版本。