繁体   English   中英

Spark 的 StreamingQuery 的 Maven 依赖

[英]Maven dependency for Spark's StreamingQuery

我有一个编译时错误:

无法解析符号“火花”

对于以下代码:

import org.apache.spark.sql.streaming.StreamingQuery;

我使用 InteliJ。

pom.xml:

...
<dependencies>
        <dependency>
            <groupId>com.sparkjava</groupId>
            <artifactId>spark-core</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.4.0</version>
        </dependency>
    </dependencies>

编辑:

我注意到 Maven 抱怨 spark-sql 依赖:

在此处输入图片说明

我可以使用此处提供的源代码确认接口 org.apache.spark.sql.streaming.StreamingQuery 存在于 spark-sql_2.11:2.4.0: https : //github.com/apache/spark/blob/v2 .4.0/sql/core/src/main/scala/org/apache/spark/sql/streaming/StreamingQuery.scala

我假设编译错误与源代码中的导入有关,而不是与某种类型有关(您没有附上失败的文件的源代码,所以我只能在这里推测)

所以,就分辨率而言:

  1. 尝试运行mvn clean compile命令行没有的IntelliJ。 如果成功 - 检查 intelliJ 集成(也许重新导入可以解决问题)。

  2. 如果没有 - 检查pom.xml可能您错误地更新了<dependencyManagement>部分。

  3. 从本地 maven 存储库中删除 spark jars 并重试,有时可能会下载 jar 损坏

Update 1既然现在我们知道从命令行运行mvn clean compile成功了,这一定是在 intelliJ 中打开项目的问题。

所以我建议做以下事情:

  1. 关闭当前项目:文件 --> 关闭项目
  2. File --> Open... 现在找到项目文件夹并(这很重要)选择pom.xml IntelliJ 会询问您是否要删除之前找到的项目文件 - 回答“是”,它将重新构建内部依赖项数据结构。 然后尝试运行程序并更新问题是否存在。

http://sparkjava.com/上的“Spark 框架”与Apache Spark无关。 删除com.sparkjava依赖项(假设您的项目中的其他地方不需要它)并将其替换为

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.4.0</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM