最近把超舊的 aws sdk 升級後,發現 spark application 跑不了了。
研究後發現在 spark issue tracker 內有人提到相同的症狀 SPARK-8332 的討論有其他專案使用的 jackson 版本不合的問題1。
那麼 aws sdk 是為了什麼去升級它呢?因為 ISSUE 4112 有人提出了 jackson 版本太舊了,應該升一下。討論的結果我是看不出有『昇』的必要,特別是升級後竟然還跟其他相當廣泛使用的 project 衝突啊 Orz.
目前,只能先把 aws sdk 內的 jackson 降級到 2.4.x 版,至少是二者看起來都能跑的版本。
dependencies {
compile ('com.amazonaws:aws-java-sdk-s3:1.+') {
exclude group: 'com.fasterxml.jackson.core', module:'jackson-databind'
}
compile 'org.apache.spark:spark-core_2.10:1.5.0'
compile 'com.fasterxml.jackson.core:jackson-databind:2.4.4'
}