curl -XPUT -H“内容类型:application / json” -d'{“ path”:“ / models / testALS.zip”}'http:// localhost:65327 / model有错误

时间:2019-05-10 07:10:15

标签: apache-spark-mllib mleap

打电话时

curl -XPUT -H "content-type: application/json" -d 
'{"path":"/models/testALS.zip"}' http://localhost:65327/model

获取错误。

我使用spark-mllib训练了一个als模型并将该模型另存为testALS.zip 打电话时

curl -XPUT -H "content-type: application/json" -d 
'{"path":"/models/testALS.zip"}' http://localhost:65327/model

有错误; 错误消息粘贴在下面。

  

[错误] [05/10/2019 04:10:57.815] [MleapServing-akka.actor.default-dispatcher-3] [MleapResource]请求java.util.NoSuchElementException错误:找不到密钥:scala中的als在scala.collection.AbstractMap.default(Map.scala:59)在scala.collection.MapLike $ class.apply(MapLike.scala:141)在scala.collection.MapLike $ class.default(MapLike.scala:228)。在ml.combust.bundle.BundleRegistry.model(BundleRegistry.scala:93)处的collection.AbstractMap.apply(Map.scala:59)在ml.combust.bundle.serializer.ModelSerializer $$ anonfun $ readWithModel $ 2.apply(ModelSerializer。 scala:105)

1 个答案:

答案 0 :(得分:0)

我相信您正在使用的端点是用于更新现有的已加载模型。我不确定您使用的是哪个版本的MLeap,所以这是我加载模型的方式:

  1. 我建议至少使用版本0.13.1。
  2. 我建议使用端口8080上的spring boot服务器
  3. 然后,您需要使用POST加载模型:
curl -X POST http://localhost:8080/models \
  -H 'Content-Type: application/json' \
  -d '{"modelName":"airbnb", "uri":"file:/models/airbnb.model.lr.zip", "config": {"memoryTimeout": 10000, "diskTimeout": 10000}, "force": false}'