适用于Spark 2.2.0的兼容Scala版本?

时间:2017-09-29 17:24:16

标签: scala apache-spark

哪个Scala版本适用于Spark 2.2.0? 我收到了以下错误

“线程中的异常”主“java.lang.NoSuchMethodError:scala.Predef $ .refArrayOps([Ljava / lang / Object;] Lscala / collection / mutable / ArrayOps;”

由于

4 个答案:

答案 0 :(得分:3)

来自文档here

  

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

答案 1 :(得分:1)

构建并分发Spark 2.2.0以默认使用Scala 2.11。要在Scala中编写应用程序,您需要使用兼容的Scala版本(例如2.11.X)。而你的scala版本可能是2.12.X.这就是它抛出异常的原因。

答案 2 :(得分:0)

Spark 2.2.0需要Java 8+和scala 2.11。多数民众赞成版本信息。

但是,看看你的错误"线程中的异常" main" java.lang.NoSuchMethodError:",看来你的Spark无法找到驱动程序类。

可能你应该朝着这个方向而不是版本。

答案 3 :(得分:0)

要为您的Spark应用程序选择适当的Scala版本,可以在目标服务器上运行spark-shell。欢迎消息中包含所需的scala版本:

Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.0.2.6.3.0-235
      /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_152)

它是我的Spark发行版中的2.11.8

MVN存储库上也有一些页面,其中包含用于人的火花分配的scala版本:

https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11

https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.12