【问题标题】:Error on java.lang.NoClassDefFoundError: org/apache/spark/sql/SQLContextjava.lang.NoClassDefFoundError 上的错误:org/apache/spark/sql/SQLContext
【发布时间】:2019-04-06 04:56:06
【问题描述】:

通过 intellij 在我的 Windows 机器上运行代码时,我面临 org.apache.spark.sql.hive.HiveContext 或 org.apache.spark.sql.SQLContext 的 NoClassDefFoundError

我有以下built.sbt。

name := "sample"
version := "1.0"
scalaVersion := "2.10.6"

resolvers += "Maven Central" at "https://repo.maven.apache.org/maven2/"
resolvers += "Hortonworks Releases" at "http://repo.hortonworks.com/content/repositories/releases/"
resolvers += "Nexus Repository Releases" at "http://10.85.114.41/content/repositories/releases/"
libraryDependencies ++={
  val hortonVer = "1.6.2.2.5.0.0-1245"
  val elasticVer = "5.0.0"
  val kafkaVer = "0.10.0.2.5.0.0-1245"
  Seq(
    "org.apache.spark" % "spark-sql_2.10" % hortonVer % "provided" exclude("org.mortbay.jetty", "jetty") exclude("org.mortbay.jetty", "jetty-util") exclude("net.minidev", "json-smart"),
    "org.apache.spark" % "spark-hive_2.10" % hortonVer % "provided",
    "org.elasticsearch" % "elasticsearch-spark-13_2.10" % elasticVer exclude("org.apache.spark", "spark-streaming-kafka_2.10") exclude("org.apache.spark", "spark-core_2.10") exclude("org.apache.spark", "spark-sql_2.10") exclude("org.mortbay.jetty", "jetty") exclude("org.mortbay.jetty", "jetty-util") exclude ("org.spark-project.spark", "unused"),
    "com.sample.app" % "cap-spark-api-01" % "1.0.7" exclude("org.apache.spark", "spark-streaming-kafka_2.10") exclude("org.mortbay.jetty", "jetty") exclude("org.mortbay.jetty", "jetty-util") exclude("com.datastax.spark", "spark-cassandra-connector_2.10") exclude ("org.elasticsearch", "elasticsearch-spark-13_2.10"),
    "org.apache.kafka" % "kafka-clients" % kafkaVer

    )
}
assemblyJarName in assembly := "sample.jar"

我在代码中导入了 org.apache.spark.sql.hive.HiveContext 并得到 NoClassDefFoundError 异常。

当 HiveContext 给出 NoClassDefFoundErroracception 时,我已经导入了 org.apache.spark.sql.SQLContext,然后当我声明如下时它也给出了 NoClassDefFoundErrorfor SQLContext

val hc = new HiveContext(sc) or val hc = new SQLCOntext(sc)

如果我删除 % "provided" %,而 sbt build 我收到以下错误。

sbt.librarymanagement.ResolveException: unresolved dependency: org.mortbay.jetty#jetty-util;6.1.26.hwx: Nexus Repository Releases: unable to get resource for org/mortbay/jetty#jetty-util;6.1.26.hwx: res=http://10.85.114.41/content/repositories/releases/org/mortbay/jetty/jetty-util/6.1.26.hwx/jetty-util-6.1.26.hwx.pom: java.net.ConnectException: Failed to connect to /10.85.114.41:80

你能帮我解决这个问题吗?

谢谢,宝贝

【问题讨论】:

    标签: apache-spark hive apache-spark-sql sbt-assembly


    【解决方案1】:

    尝试将 spark-core 添加到您的 SBT 依赖项中。

    【讨论】:

    • 感谢您的回复小行星。我在我的 sbt 及其工作的第一个库中删除了提供和排除。
    猜你喜欢
    • 1970-01-01
    • 2017-11-22
    • 2018-03-10
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 2017-03-10
    • 2020-08-31
    相关资源
    最近更新 更多