java - 未找到 Spark RDD 类

标签 java scala sbt apache-spark sbt-assembly

我是 Spark 新手,需要有关错误的帮助: java.lang.NoClassDefFoundError: org/apache/spark/rdd/RDD$

我正在 Scala 中创建一个独立的 Spark 示例。我跑了sbt clean packagesbt 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/

相关文章:

python - 如何在 SAP Logon 中自动执行重复任务

scala - 高阶函数上的隐式未解决

Scala 类型推断不适用于泛型案例类和 lambda

java - 在 build.sbt 中设置 sbt 对 browserify 的调用,以便在编译时捆绑依赖项

java - 如何动态创建XML(java)?

java - 使用for循环,如何反转字符串?

scala - 在搜索隐式转换时,Scala 是否使用目标类型?

maven - 让 Play/SBT 应用程序依赖于 Maven POM

scala - 如何检查 sbt 是否在测试上下文中?

java - 加载本地化资源