关于Spark 和 scala 版本的问题
最近用 scala 写 Spark 的时候出现了两种问题,最后排查都是版本的问题,使用的是IDEA本地运行的时候出现
尤其第二种,他并不是每次都会出现,可能只在运行某几行有冲突的代码时才会出现
先把两种异常贴出来
第一种
Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$;
第二种
Error:scalac: Error: object VolatileIntRef does not have a member create
scala.reflect.internal.FatalError: object VolatileIntRef does not have a member create
- 到当前的Spark的jar包 spark-core_2.10:2.1.2
包名中-2.10是 scala 版本,2.1.2 是Spark的版本。
- scala版本 2.11 的时候出现第一种错误
- 到当前的Spark的jar包 spark-core_2.10:2.1.2
———————— 或 spark-core_2.11:2.1.2 - scala版本 2.12 的时候出现第二种错误
解决方法自然简单换成同一个版本就可以了
去中央仓库查了下Spark的包最高只支持到scala2.11的版本,
所以scala的配置最高到2.11
或者Spark和Scala都用2.10 的都可以,取决于运行服务器上运行的Spark集群版本,我的有点乱,所以踩的坑有点多。。。