簡體   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