idea中使用scala运行spark出现:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
查看build.sbt:
name := "ScalaSBT"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "1.6.1"
你需要确保 spark所使用的scala版本与你系统scala的版本一致
你也可以这样:
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.1"
那怎样确认你的版本是否一致呢:
1 .首先查看你代码使用的版本,这个就是从pom.xml中或者sbt配置文件中查看
确定你的使用版本
2.查看你的spark的集群,spark使用的scala的版本
a. 运行spark-shell ,在启动结束会显示版本
b.进入spark的安装目录查看jars目录下,scala中的类库版本号
ls /usr/local/spark/jars | grep scala
显示如下:
然后你就可以修改你使用的scala版本号了
问题解决