我是 Spark 新手,需要有关错误的帮助:
java.lang.NoClassDefFoundError: org/apache/spark/rdd/RDD$
我正在 Scala 中创建一个独立的 Spark 示例。我跑了sbt clean package
和sbt assembly
打包 scala Spark 代码。两者都成功完成,没有任何错误。对 RDD 的任何操作都会引发错误。任何解决此问题的指示都会非常有帮助。
我使用 spark-submit
调用该作业命令。
$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.GroupTest /Users/../spark_workspace/spark/examples/target/scala-2.10/spark-examples_2.10-1.3.0-SNAPSHOT.jar
最佳答案
我设法抛出这个错误并克服它。这绝对是一个 YMMV 答案,但我把它留在这里,以防它最终对某人有帮助。
就我而言,我在 Mac 上运行安装了 Spark (1.2.0) 和 mahout (0.11.0) 的自制软件。这对我来说非常令人困惑,因为如果我手动运行 mahout 命令行,我不会收到错误,但如果我从某些 python 代码中调用它,它就会抛出错误。
我意识到我已经在我的个人资料中更新了 SPARK_HOME 变量以使用 1.4.1,并在我的手动终端中重新获取了它的源。我运行 python 代码的终端仍然使用 1.2.0。我在 python 终端中重新配置了我的个人资料,现在它“正常工作了”。
整个事情感觉非常黑魔法,如果我猜测引发此错误的一些合理原因,也许是因为一个移动部件采用了不同的 Spark 版本、架构,无论什么都与你所拥有的不同。这似乎也是评论中暗示的解决方案。
关于java - 未找到 Spark RDD 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28285157/