2017-03-21 6 views
0
dependencies { 
    compile group: 'org.scala-lang', name: 'scala-library', version: '2.11.1' 
    compile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.1.0' 
    compile group: 'org.apache.spark', name: 'spark-sql_2.11', version: '2.1.0' 
    compile group: 'org.elasticsearch', name: 'elasticsearch-spark-20_2.11', version: '5.1.2' 

これは私のグラデル構成の一部です。それは見つけることができます。 jsonの文字列を処理するために、以下のような 'play-json'ライブラリを追加しました。ジャクソンライブラリバージョンconfilct

compile group: 'com.typesafe.play', name: 'play-json_2.11', version: '2.5.13' 

スカラーがcsvファイルを読み取ろうとするとエラーが発生します。 com.fasterxml.jackson.databind.JsonMappingException:によって引き起こさ

互換性のないジャクソンのバージョン:2.7.8 でcom.fasterxml.jackson.module.scala.JacksonModule $ class.setupModule(JacksonModule.scala:64 com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala時) :19)

spark.read 
     .option("header", fileHeader) 
     .option("charset", charset) 
     .csv("./data/" + filePath) // error here 

私はScalaの2.11での作業と2.1.0の火付け役です。 これは何ですか?

答えて

2

プレイスパーク2.1とよく2.4.10作品彼らが使用ジャクソンはあなたが私を救っ同様の

dependencies { 
    compile group: 'org.scala-lang', name: 'scala-library', version: '2.11.1' 
    compile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.1.0' 
    compile group: 'org.apache.spark', name: 'spark-sql_2.11', version: '2.1.0' 
    compile group: 'org.elasticsearch', name: 'elasticsearch-spark-20_2.11', version: '5.1.2' 
    compile group: 'com.typesafe.play', name: 'play-json_2.11', version: '2.4.10' 
+0

thans :) –

+0

つ以上の相対質問ですので。あなたはどのように遊びを知っていましたか?2.4.10 spark 2.1との適合? –

+1

maven centralの下位互換性を確認することができます。https://mvnrepository.com/artifact/com.typesafe.play/play-json_2.11/2.4.10およびhttps://mvnrepository.com/artifact/org.apache.spark/ spark-core_2.11/2.1.0 – Mikel

2

問題は、スパークは古いバージョンのジャクソンとJackson Scala moduleに依存していることです。私はモジュールがplay-jsonの依存として来るより最近のバージョンのジャクソンでうまくいきません。このようなスパークからの推移依存関係としてジャクソン除く

試してみてください。

compile('org.apache.spark:spark-core_2.11:2.1.0') { 
    exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind' 
    exclude group: 'com.fasterxml.jackson.module', module: 'jackson-module-scala_2.11' 
} 

また、ジャクソンにも2.7.8に直接依存関係を追加してみてください。