json4s noSuchMethodError при запросе развернутого движка в ForegnitionIO - PullRequest
0 голосов
/ 04 июня 2019

У меня есть стек данных, построенный на основе PredictionIO 0.14. Я использую ES 6.4.2, spark2.4.3 и scala 2.11.12 (потому что spark 2.4.3 возвращается к scala 2.11 по умолчанию). Мне удается выполнять сборку, обучение и развертывание. Я могу увидеть информацию о движке, если открою страницу, где движок развернут как веб-сервис, но я не могу запросить его с помощью curl. Я пытаюсь сделать:

curl -k -XPOST http://host:port/queries.json

(используя правильный хост и порт)

но я получаю следующую ошибку:

Запрос:

Трассировка стека:

java.lang.NoSuchMethodError: org.json4s.jackson.JsonMethods$.parse(Lorg/json4s/JsonInput;Z)Lorg/json4s/JsonAST$JValue;

at com.actionml.URAlgorithm.buildQueryShould(URAlgorithm.scala:668)

at com.actionml.URAlgorithm.buildQuery(URAlgorithm.scala:585)

at com.actionml.URAlgorithm.predict(URAlgorithm.scala:488)

at com.actionml.URAlgorithm.predict(URAlgorithm.scala:180)

Я искал информацию и считаю, что это связано с тем, что в scala2.11 нет нужных библиотек. Я бы обновился до scala2.12, но это снова привело бы к другим серьезным конфликтам с ElasticSearch 6+. Каким-то образом решением было бы загрузить соответствующие библиотеки json4s, но я не знаю, как это сделать, и где я должен взять свои руки. Странно, что сама команда curl имеет эту проблему, но похоже, что она связана со scala. Ребята, у вас есть предложения?

1 Ответ

0 голосов
/ 05 июня 2019

Понижение ES с версии 6 до версии 5.6 работало для меня.Я считаю, что ES6 по-прежнему несовместим с некоторыми библиотеками Scala.

...