将Scala 2.12与Spark 2.x一起使用

Net*_*itz 23 scala abi binary-compatibility apache-spark

在Spark 2.1 文档中提到了这一点

Spark运行在Java 7 +,Python 2.6 +/3.4 +和R 3.1+上.对于Scala API,Spark 2.1.0使用Scala 2.11.您需要使用兼容的Scala版本(2.11.x).

在Scala 2.12 发布消息时,它还提到:

尽管Scala 2.11和2.12主要是源兼容的,以便于交叉构建,但它们不是二进制兼容的.这使我们能够不断改进Scala编译器和标准库.

但是当我构建一个超级jar(使用Scala 2.12)并在Spark 2.1上运行它时.一切都很好.

我知道它不是任何官方消息来源,但在47度博客中他们提到Spark 2.1确实支持Scala 2.12.

如何解释那些(冲突?)信息?

小智 35

Spark 支持Scala 2.12.您可以按照SPARK-14220(针对Scala 2.12构建和测试Spark)来获取最新状态.

  • Spark 2.4现在支持Scala 2.12作为实验. (3认同)
  • 可以添加为评论 (2认同)
  • 2.12支持不再是实验性的-现在是GA-请参见Spark [2.4.1发行说明](https://spark.apache.org/releases/spark-release-2-4-1.html)。 (2认同)