在ForecastIO中查询已部署的引擎时,json4s noSuchMethodError

时间:2019-06-03 22:14:48

标签: scala elasticsearch json4s predictionio

我有一个围绕PredictionIO 0.14构建的数据堆栈。我使用ES 6.4.2,spark2.4.3和scala 2.11.12(因为spark 2.4.3默认返回到scala 2.11)。我设法进行pio构建,pio培训和pio部署。如果打开将引擎作为Web服务部署的页面,则可以看到引擎信息,但是无法使用curl查询它。我尝试做:

+---------------+--------------------+ 
|SALESCLOSEPRICE|            features| 
+---------------+--------------------+ 
|         143000|(135,[0,1,2,3,5,6...| 
|         190000|(135,[0,1,2,3,5,6...| 
|         225000|(135,[0,1,2,3,5,6...| 
+---------------+--------------------+

(使用正确的主机和端口)

但出现以下错误:

查询:

堆栈跟踪:

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

我在寻找信息,我相信这是由于scala2.11没有适当的库。我将升级到scala2.12,但与ElasticSearch 6+再次出现其他严重冲突。 某种解决方案是上传正确的json4s库,但是我不知道该怎么做以及应该放在哪里。奇怪的是curl命令本身就有这个问题,但是看起来与scala有关。你们有什么建议吗?

1 个答案:

答案 0 :(得分:0)

将ES从版本6降级到5.6版对我有用。我相信ES6仍与某些Scala库不兼容。