Ошибка 'java .lang.NoSuchMethodError: com.google.gson.reflect.TypeToken.getParameterized' в искровом кластере - PullRequest
0 голосов
/ 30 марта 2020

У меня scala приложение, работающее с Spark на локальном компьютере (из IntelliJ IDE), но у меня возникла следующая ошибка при запуске приложения на кластере искр:

Exception in thread "main" java.lang.NoSuchMethodError: com.google.gson.reflect.TypeToken.getParameterized(Ljava/lang/reflect/Type;[Ljava/lang/reflect/Type;)Lcom/google/gson/reflect/TypeToken;
at com.cloudant.client.api.Database.query(Database.java:502)
at com.ibm.ursus.repositories.CloudantRepository.read(CloudantRepository.scala:61)

Мое приложение, использующее GSON версию библиотеки 2.8.2:

"com.google.code.gson" % "gson" % "2.8.2"

1 Ответ

0 голосов
/ 30 марта 2020

Есть статья , которая указывает мне правильное направление. Таким образом, решение проблемы - следующие строки в spark-submit:

/opt/spark/bin/spark-submit \
 --jars gson-2.8.2.jar \
 --conf spark.driver.extraClassPath=gson-2.8.2.jar \
 --conf spark.executor.extraClassPath=gson-2.8.2.jar \

Это добавляет правильную библиотеку в кластер Spark и добавляет ее в путь к классам перед «внутренней» библиотекой Spark 2.2.4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...