用户工具

站点工具


call

这是本文档旧的修订版!


模型计算接口调用说明

实时接口调用

系统通过服务网关提供实时接口,供外部进行模型计算的调用,输入json格式的输入数据, 输出为模型结果返回

接口说明

  • 接口url:http://hostname:port/consumer/calc/{modelCode}
  • 接口参数:
    • url参数:
      • modelCode:即要调用的模型编码
    • requestBody参数:模型输出内容,json格式
  • 接口返回值
    • 格式:json
    • 返回值内容:
      • status: 状态值,2000表示计算结果正常
      • message: 计算结果的说明
      • data: 模型返回值

接口调中示例

以curl方式为例:

curl -X POST -H 'Content-Type: application/json' \
   -d '{
           "sepal.width": 1.2,
           "sepal.length": 2.5,
           "petal.width": 3.0,
           "petal.length": 1.2
       }' \
   http://localhost:11524/consumer/calc/test-01

返回结果输出示例

{
    "status":2000,
    "message":"计算成功",
    "data":{
        "probability(Setosa)":0.0,
        "probability(Virginica)":0.125,
        "probability(Versicolor)":0.875,
        "variety":"Versicolor"
    }
}

批量数据接口调用

当前批量数据调用仅支持针对oracle、mysql数据库的批量调用,hive的批量调用 建议采用udf方式进行

获取批量调用任务包

需要使用eppdev-mlib-batch任务包,具体所需文件为两个:

  1. eppdev-mlib-batch.jar: 主要执行文件
  2. application.properties:相应的配置文件
上述两个文件需要在统一目录

前提准备

需要准备模型计算所需数据宽表和结果回填表两个表,其中宽表数据中需要有唯一主键, 输出结果表需要有主键和create_time字段,便于进行库表数据对应,示例格式如下

-- --------------------------------------
-- tableName:test_model_input
-- author: jinlong.hao
-- date: 2019-11-24
-- desc: 
--    1. 模型输入库表
--    2. 主键为id
--    3. 用于进行模型测试
-- ---------------------------------------
CREATE TABLE test_model_input(
    id CHAR(32)             comment '主键'
   ,sepal_width DOUBLE      comment 'sepal.width'
   ,sepal_height DOUBLE     comment 'sepal.height'
   ,petal_width DOUBLE      comment 'petal.width'
   ,petal_height DOUBLE     comment 'petal.height'
   ,create_time DOUBLE      comment '创建时间,用于进行增量计算'
) comment '模型测试输入表';
 
-- --------------------------------------
-- tableName:test_model_output
-- author: jinlong.hao
-- date: 2019-11-24
-- desc: 
--    1. 模型输出结果表
--    2. 主键为id
-- ---------------------------------------
CREATE TABLE test_model_output(
    id VARCHAR(32)                  comment '唯一主键'
   ,probability_setosa  DOUBLE      comment 'Setosa概率'
   ,probability_virginica DOUBLE    comment 'Virginica概率'
   ,probability_versicolor DOUBLE   comment 'Versicolor概率'
   ,variety VARCHAR(20)             comment '模型预测结果'
   ,create_time datetime            comment '模型计算时间'
) comment '模型测试输出表';
~~~

环境配置

执行调用

HIVE UDF方式进行调用

call.1577601854.txt.gz · 最后更改: 2020/07/12 12:07 (外部编辑)