我在尝试运行Spark时遇到NoClassDefFound错误。我无法弄清楚这背后的原因。请帮忙。
线程“main”中的异常java.lang.NoClassDefFoundError: 组织/阿帕奇/火花/ SQL / SchemaRDD at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) 在java.lang.Class.getMethod0(Class.java:3018) 在java.lang.Class.getMethod(Class.java:1784) 在org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy $ SparkSubmit $$ runMain(SparkSubmit.scala:659) 在org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1(SparkSubmit.scala:180) 在org.apache.spark.deploy.SparkSubmit $ .submit(SparkSubmit.scala:205) 在org.apache.spark.deploy.SparkSubmit $ .main(SparkSubmit.scala:120) 在org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 引起:java.lang.ClassNotFoundException:org.apache.spark.sql.SchemaRDD at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ......还有10个
答案 0 :(得分:1)
NoClassDefFoundError表示Java无法找到它正在寻找的类。这通常意味着:
1的解决方案是检查类路径:确保包含定义org.apache.spark.sql.SchemaRDD
的jar。
2的解决方案是检查您是否具有依赖于(传递上)定义该类的旧版本资源的Maven依赖项。