簡體   English   中英

Apache Spark在IntelliJ中給出錯誤

[英]Apache Spark giving error in IntelliJ

我已經為SparkSQL編寫了代碼。 我使用Eclipse Neon運行它。 運行正常。 當我轉向IntelliJ Idea時,相同的代碼未運行。
這是代碼:

SparkSession spark = SparkSession
            .builder()
            .appName("Java Spark Hive Example")
            .master("local[*]")
            .config("hive.metastore.uris", "thrift://localhost:9083")
            .enableHiveSupport()
            .getOrCreate();
spark.sql("select survey_response_value from health").show();

我得到的例外是:
https://justpaste.it/13tsa
請讓我知道為什么我要面對這個問題。 我該如何解決? 我應該從一開始就使用IntelliJ編寫代碼,還是有幫助的機制?

問題是此異常:

com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.5.1

基本上,Spark使用Jackson版本2.6.5,但是您使用的另一個依賴項將較舊版本(2.5.1)的Jackson放在類路徑中。 很難說為什么Eclipse和IntelliJ之間會有所不同,但是我的猜測是它們以不同的方式構建類路徑,因此使用Eclipse首先放置正確的版本。

關於SO上的此錯誤,存在幾個問題,例如:

對我來說,使用Spark 2.x,將以下內容添加到build.sbt以確保使用正確的版本:

dependencyOverrides ++= Set(
  "com.fasterxml.jackson.core" % "jackson-annotations" % "2.6.5",
  "com.fasterxml.jackson.core" % "jackson-core" % "2.6.5",
  "com.fasterxml.jackson.core" % "jackson-databind" % "2.6.5"
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM