[SCALA] Spark2.1.0 호환되지 않는 잭슨 버전 2.7.6
SCALASpark2.1.0 호환되지 않는 잭슨 버전 2.7.6
나는 인 IntelliJ에서 간단한 스파크 예제를 실행하려고하지만 그와 같은 오류가 발생합니다 :
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.spark.SparkContext.withScope(SparkContext.scala:701)
at org.apache.spark.SparkContext.textFile(SparkContext.scala:819)
at spark.test$.main(test.scala:19)
at spark.test.main(test.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Incompatible Jackson version: 2.7.6
at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:64)
at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:19)
at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:730)
at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82)
at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala)
내가 잭슨 의존성을 업데이트하려고해야하지만 그렇지 않은 일을 보인다, 나는이 작업을 수행 :
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-core" % "2.8.7"
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.7"
하지만 여전히 어떤 하나의 도움이 나에게 오류를 수정 할 수 같은 오류 메시지가 나타 납니까?
여기서 스파크 예 코드 :
object test {
def main(args: Array[String]): Unit = {
if (args.length < 1) {
System.err.println("Usage: <file>")
System.exit(1)
}
val conf = new SparkConf()
val sc = new SparkContext("local","wordcount",conf)
val line = sc.textFile(args(0))
line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect().foreach(println)
sc.stop()
}
}
그리고 여기 내 built.sbt입니다 :
name := "testSpark2"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-core" % "2.8.7"
libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.7"
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-mllib_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-repl_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-streaming-flume_2.10" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-sql_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-network-shuffle_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-streaming-kafka-0-10_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-hive_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-streaming-flume-assembly_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-mesos_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-graphx_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-catalyst_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-launcher_2.11" % "2.1.0"
해결법
-
==============================
1.스파크 2.1.0은 이적 의존성 등 com.fasterxml.jackson.core가 포함되어 있습니다. 그래서 우리는 libraryDependencies에 다음을 포함 할 필요가 없습니다.
스파크 2.1.0은 이적 의존성 등 com.fasterxml.jackson.core가 포함되어 있습니다. 그래서 우리는 libraryDependencies에 다음을 포함 할 필요가 없습니다.
당신이 다음 다른 com.fasterxml.jackson.core 종속성 '버전을 추가하려는 경우 그러나 당신은 그들을 무시해야합니다. 이 같이 :
name := "testSpark2" version := "1.0" scalaVersion := "2.11.8" dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-core" % "2.8.7" dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.7" dependencyOverrides += "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.8.7" libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-mllib_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-repl_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-streaming-flume_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-sql_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-network-shuffle_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-streaming-kafka-0-10_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-hive_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-streaming-flume-assembly_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-mesos_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-graphx_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-catalyst_2.11" % "2.1.0" libraryDependencies += "org.apache.spark" % "spark-launcher_2.11" % "2.1.0"
그래서, 위의 일처럼 build.sbt을 변경하고 예상대로 작동합니다.
나는 그것이 도움이되기를 바랍니다!
-
==============================
2.참고하시기 바랍니다. 용도는 2.8.5을 com.fasterxml.jackson.core 카프카 - 스트림하면서 내 경우, 나는, 응용 프로그램에서 스파크와 카프카 스트림을 사용하고 있습니다. 고정 된 문제를 다음과 같이 제외 추가
참고하시기 바랍니다. 용도는 2.8.5을 com.fasterxml.jackson.core 카프카 - 스트림하면서 내 경우, 나는, 응용 프로그램에서 스파크와 카프카 스트림을 사용하고 있습니다. 고정 된 문제를 다음과 같이 제외 추가
(Gradle을)
compile (group: "org.apache.kafka", name: "kafka-streams", version: "0.11.0.0"){ exclude group:"com.fasterxml.jackson.core" }
-
==============================
3.resolutionStrategy (https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html)를 사용하여 Gradle을 가진 솔루션 :
resolutionStrategy (https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html)를 사용하여 Gradle을 가진 솔루션 :
configurations { all { resolutionStrategy { force 'com.fasterxml.jackson.core:jackson-core:2.4.4', 'com.fasterxml.jackson.core:jackson-databind:2.4.4', 'com.fasterxml.jackson.core:jackson-annotations:2.4.4' } } }
from https://stackoverflow.com/questions/43841091/spark2-1-0-incompatible-jackson-versions-2-7-6 by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] JS는 이연 / 약속 / 미래 스칼라와 같은 함수형 언어에 비해 (0) | 2019.11.20 |
---|---|
[SCALA] 스칼라는 케이스 (22 개) 필드를 가지고 있지만 스칼라 2.11.5에서 플레이 JSON과 문제가 발생 (0) | 2019.11.20 |
[SCALA] 파티션의 RDD 기본 번호를 스파크 (0) | 2019.11.20 |
[SCALA] zipWith 스칼라 (다중 서열 이상 매핑) (0) | 2019.11.20 |
[SCALA] 서열 목록 이외의 스칼라 패턴 매칭 (0) | 2019.11.20 |