java - Scala Spark MLLib NoClassDefFoundError

标签 java scala apache-spark sbt apache-spark-mllib

我正在 Spark mllib 中学习 ALS bu 当我尝试创建评级以传递给 ALS.train 时,我收到此错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/mllib/recommendation/Rating
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
at java.lang.Class.getMethod0(Class.java:2866)
at java.lang.Class.getMethod(Class.java:1676)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:126)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.mllib.recommendation.Rating
at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:312)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 5 more

Process finished with exit code 1

我用 sbt 0.13.15, 斯卡拉 2.10.4, Spark 核心2.10, Spark MLlib 2.10, 在 java 7 和 8 上都尝试过

我做错了什么吗?

最佳答案

我找到了适合我的案例的解决方案

问题是我尝试使用 IntelliJ IDE 运行这个 Spark,我发现在我的 Build.sbt 中我有类似的东西可以使用依赖项

libraryDependency++= Seq( "org.apache.spark"% "spark-core_2.10"% "2.1.0", "org.apache.spark"% "spark-mllib_2.10"% "2.1.0"% "已提供")

问题出在“provided”,当我尝试使用 IntelliJ 运行时,我应该将其更改为“compile”,否则我会看到类似的错误

关于java - Scala Spark MLLib NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45125814/

相关文章:

scala - Akka Actor 选择

apache-spark - 无法使用 Spark 合并小型 ORC 文件

java - 简单的节点发现方法

java - 安卓 : How to programmatically open the soft keyboard in Emoji View

java - 在 android 2.3 上使用 jcifs 库时出现 NoClassDefFound 异常

java - 设置框架图标

java - 如何通过拒绝selenium webdriver中的弹出窗口来关闭浏览器

scala - 方法如何接受 (T < : Seq)[A] and return T[B] -- the same type of sequence with a different type parameter?

memory - Actor 邮箱溢出。斯卡拉

python - PySpark - YARN 上不存在输入路径。在本地工作正常