繁体   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