scala - java.lang.ClassNotFoundException : org. apache.spark.sql.Dataset

标签 scala apache-spark apache-spark-sql

运行使用 Spark 的 Scala 文件时 Dataset键入我得到以下堆栈跟踪:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/Dataset
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:125)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.Dataset
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 6 more

我觉得这很奇怪,因为我有以下导入:
import org.apache.spark.sql._

另外,在我的 build.sbt 中我将以下内容添加到 libraryDependencies :
  "org.apache.spark" %% "spark-core" % "1.6.2" % "provided",
  "org.apache.spark" %% "spark-sql" % "1.6.2" % "provided",

最佳答案

如果您正在独立执行此操作,您可以尝试删除 provided从你的依赖。提供意味着当您运行此应用程序时,您希望依赖项已经在类路径上。因此,如果您使用 provided,Spark 依赖项将不会包含在您的 jar 中。 .

关于scala - java.lang.ClassNotFoundException : org. apache.spark.sql.Dataset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38268922/

相关文章:

apache-spark - 将包含无效字符的嵌套字段从 Spark 2 导出到 Parquet

scala - 如何将当前行的值与下一个相除?

mysql - 在sql中的列值之间创建行

Java 或 Scala。如何将\x22 之类的字符转换为 String

list - List::: 运算符和++的区别

python - 在 pyspark 中处理大数字的数据类型

java - StringType 问题 : Exception in thread "main" scala. MatchError : org. apache.spark.sql.types.StringType@

scala - Scala 中存在类型的下划线

Scala:蹦床函数的扩展语法破坏了尾递归

用于 Spark 的 elasticsearch-hadoop。从不同索引的 RDD 发送文档(按天)