Обновление с Spark 1.6 до 2.1 - несовместимая ошибка изменения класса - PullRequest
0 голосов
/ 19 сентября 2018

Я обновляю Spark 1.6 до версии 2.1 (HortonWorks Distribution).Ниже поясняются сценарии Этап 1 и Этап 2, Этап 1 с успешным выполнением и Этап 2 Сбой.

Этап 1

Зависимости POM xml для Spark 1.6.3 (которые работают абсолютно нормально):

scala tools version 2.10
scala version 2.10.5
scala compiler version 2.10.6
spark-core_2.10
spark-sql_2.10
spark version 1.6.3

Существует общий набор используемых библиотек -

commons-csv-1.4.jar
commons-configuration2-2.1.1.jar
commons-beanutils-1.9.2.jar
commons-email-1.4.jar
javax.mail-1.5.2.jar
sqoop-1.4.6.2.3.0.12-7.jar
avro-mapred-1.8.2.jar
avro-1.8.2.jar
guava-14.0.jar
commons-logging-1.1.3.jar
jackson-module-scala_2.10-2.4.4.jar
jackson-databind-2.4.4.jar
jackson-core-2.4.4.jar
xdb6.jar
jackson-mapper-asl-1.9.13.jar
ojdbc7-12.1.0.2.jar

Stage2

Когда я изменяю зависимости и версию свечи в POM.xml на -

scala tools version 2.11
scala version 2.11.8
scala compiler version 2.11.8
spark-core_2.11
spark-sql_2.11
spark version 2.1.0

Кроме того, из общего набора библиотек я просто меняю -

jackson-module-scala_2.11-2.6.5.jar
jackson-core-2.6.5.jar
jackson-databind-2.6.5.jar

Хотя я беру сборку и пытаюсь запустить ее на кластере с конфигурацией Spark как 2.1 и scala как 2.11.8, она завершается с ошибкой ниже.

INFO: Exception in thread "main" java.lang.IncompatibleClassChangeError: 
class com.xxx.xxx.xxx.DQListener has interface 
org.apache.spark.scheduler.SparkListener as super class

Я уверен, что проблема в том, чтобы импортировать правильные банки, но не могу определить, какой именно.Буду признателен, если кто-нибудь может помочь решить эту проблему, пожалуйста.

...