火花SQL错误



我尝试使用Spark-SQL,但我有以下错误:

错误:加载类文件时检测到的丢失或无效依赖关系 'Package.Class'。无法访问包装中的术语注释 org.apache.spark,因为它(或其依赖关系)丢失。查看 您的构建定义是缺失或冲突的依赖性。(重新运行 使用-Ylog-classpath查看有问题的类路径。) 如果"包裹"与一个 org.apache.spark的不兼容版本。警告:上课 org.apache.spark.annotation.interfactation找不到 - 继续 用存根。错误:检测到丢失或无效的依赖性 加载类文件" SparkSession.Class"。无法访问术语 package org.apache.spark中的注释,因为它(或 依赖关系)缺失。检查您的构建定义是否丢失或 矛盾的依赖性。(用-Ylog-classpath重新运行以查看 有问题的班级路径。)全面的重建可能会有所帮助 " SparkSession.Class"是针对不兼容的版本编译的 org.apache.spark。

我的配置:

  • Scala 2.11.8
  • spark-core_2.11-2.1.0
  • spark-sql_2.11-2.1.0

  • 注意:我使用Sparksession。

挖掘错误消息后,我知道如何解决此类错误。例如:

错误-Symbol 'term org.apache.spark.annotation' is missing... A full rebuild may help if 'SparkSession.class' was compiled against an incompatible version of org.apache.spark

打开SparkSession.class,搜索"导入org.apache.spark.annotation。",您会找到import org.apache.spark.annotation.{DeveloperApi, Experimental, InterfaceStability}。可以肯定的是,这些类在类路径中缺少。您需要找到结论这些课程的工件。

因此,打开https://search.maven.org并使用c:"DeveloperApi" AND g:"org.apache.spark"搜索,您会发现缺少的伪像是 spark-tags,@prakash回答。

在我的情况下,只需在pom.xml工作中添加依赖项 spark-catalystspark-tags


,但是很奇怪,为什么Maven不自动解析此处的传递依赖性?

<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-core_2.11</artifactId>
  <version>2.2.0</version>
  <scope>provided</scope>
</dependency>

如果我使用上述偏差,则只有spark-core_2.11-2.2.0.jar处于maven依赖项中;虽然我将版本更改为2.1.0或2.3.0,但所有及物依赖性都将在那里。

您需要包括以下工件以避免依赖性问题。

  • spark-unsafe_2.11-2.1.1
  • spark-tags_2.11-2.1.1

相关内容

  • 没有找到相关文章

最新更新