java - Spark 的 StreamingQuery 的 Maven 依赖项
问题描述
我有一个编译时错误:
无法解析符号“火花”
对于以下代码:
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
我假设编译错误与源代码中的导入有关,而不是某种类型(您没有附上失败文件的源代码,所以我只能在这里推测)
所以,就分辨率而言:
尝试在没有 IntelliJ的情况下
mvn clean compile
从命令行运行。如果成功 - 检查 intelliJ 集成(也许重新导入会解决问题)。如果没有 - 检查
pom.xml
也许你<dependencyManagement>
错误地更新了一个部分。从本地 maven 存储库中删除 spark jar 并重试,有时 jar 可能会被下载损坏
更新1
既然现在我们知道mvn clean compile
从命令行成功运行,这一定是在intelliJ中打开项目的问题。
所以我建议做以下事情:
- 关闭当前项目:文件 --> 关闭项目
- 文件 --> 打开... 现在找到项目文件夹并(这很重要)选择
pom.xml
. IntelliJ 将询问您是否要删除以前找到的项目文件 - 回答“是”,它将重新构建内部依赖关系数据结构。然后尝试运行程序并更新问题是否存在。
推荐阅读
- node.js - 如何在mongodb中查询具有多个引用数组的文档?
- django - 我正在使用 pinax-referral 但是当我跟进时,我得到了 raise.self.model.DoesNotExist 以及无法配置记录器的值错误
- python-3.x - 比较字典和数据框中的值
- tensorflow - 如何使用 TensorFlow C API 从字符串张量中提取字符串?
- html - Typed.js 不适用于多个实例
- python - python asyncio通过回调函数获取数据
- gcc - 如何使 Python3 解释器更快或最快?
- c# - 如何编写将实现名称与它们实现的接口相关联的自定义属性?
- c++ - 如何使用 c++ 概念来检测一个类是否有基?
- vue.js - 如何在 VueJS 中使用 querySelectorAll