哪个Scala版本适用于Spark 2.2.0? 我收到了以下错误
“线程中的异常”主“java.lang.NoSuchMethodError:scala.Predef $ .refArrayOps([Ljava / lang / Object;] Lscala / collection / mutable / ArrayOps;”
由于
答案 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