文档下载建议反馈入口

  • 查看作业
  • 中止作业
  • 删除作业

作业管理

用户执行模型训练、模型评估或批量预测命令后,KaiwuDB 预测分析引擎创建相应的机器学习作业,并将作业提交到 Kubeflowopen in new window 集群中运行。作业运行成功后,系统会将对应的模型、模型性能指标和预测结果保存到 KaiwuDB 数据库中。

KaiwuDB 支持用户查看、中止、删除已生成的后台作业。

查看作业

KaiwuDB 支持查看所有或指定后台作业的基本信息。

查看所有后台作业

前提条件

  • 非三权分立模式下,用户为 Admin 用户或者作业的创建者。
  • 三权分立模式下,用户是 sysadmin 角色的成员或者作业的创建者。默认情况下,sysroot 用户属于 sysadmin 角色。

语法格式

SELECT * FROM kwdbml.show_jobs(<model_name>, <model_version>, <job_type>, <job_status>);

参数说明

参数类型描述
model_nameSTRING模型的名称。支持两级结构名称:模式名.对象名。如未指定前缀模式名,默认使用当前模式。星号(*)表示不过滤模型的名称。
model_versionINT可选参数,模型版本。未指定表示显示所有模型版本的作业。
model_versionINT可选参数,模型版本。如未指定,表示查看目标模型的所有版本。
job_typeSTRINGARRAY可选参数,作业类型,支持 TRAIN(训练)、EVALUATE(评估)、BATCH_PREDICT(批量预测)。['*'] 表示所有作业类型。
job_statusSTRINGARRAY作业状态,支持 RUNNING(正在运行)、SUCCEEDED(成功)、FAILED(失败)、CANCELED(已取消)。['*'] 表示所有作业状态。

KaiwuDB 支持同时省略 model_name, model_versionjob_type,表示查看所有作业。

返回字段说明

参数类型描述
idSTRING后台作业的标识。
typeSTRING后台作业的类型。
statusSTRING后台作业的状态。
pipeline_nameSTRING后台作业相关的流水线名称。
model_nameSTRING后台作业相关的模型名称。
model_versionINT后台作业相关的模型版本。当作业类型是模型训练时,此列是 NULL 值。
creatorSTRING后台作业的创建者。
createdTIMESTAMP后台作业的开始时间。
finishedTIMESTAMP后台作业的结束时间。
settingsJSON后台作业的配置,例如,训练模型后是否立即部署等。
resultJSON后台作业正常结束的返回结果。
errorJSON后台作业非正常结束的错误信息。

语法示例

  • 查看所有作业。

    SELECT * FROM kwdbml.show_jobs();
    
  • 查看指定作业。

    以下示例查看 public.m1 模型中所有的 TRAIN 和 EVALUATE 作业。

    SELECT * FROM kwdbml.show_jobs('public.m1', ['TRAIN', 'EVALUATE'], ['*']);
    

查看指定后台作业

前提条件

  • 非三权分立模式下,用户为 Admin 用户或者作业的创建者。
  • 三权分立模式下,用户是 sysadmin 角色的成员或者作业的创建者。默认情况下,sysroot 用户属于 sysadmin 角色。

语法格式

SELECT * FROM kwdbml.show_job(<job_id>);

参数说明

参数类型描述
job_idUUID后台作业的标识。

返回字段说明

参数类型描述
idSTRING后台作业的标识。
typeSTRING后台作业的类型。
statusSTRING后台作业的状态。
pipeline_nameSTRING后台作业相关的流水线名称。
model_nameSTRING后台作业相关的模型名称。
model_versionINT后台作业相关的模型版本。当作业类型是模型训练时,此列是 NULL 值。
creatorSTRING后台作业的创建者。
createdTIMESTAMP后台作业的开始时间。
finishedTIMESTAMP后台作业的结束时间。
settingsJSON后台作业的配置,例如,训练模型后是否立即部署等。
resultJSON后台作业正常结束的返回结果。
errorJSON后台作业非正常结束的错误信息。

语法示例

SELECT * FROM kwdbml.show_job('00f58d83-c934-4a3f-98dc-84bf5936dfeb');

执行成功后,控制台输出以下信息:


                   id                  | type  |  status   |        pipeline_name        | model_name | model_version |   creator   |             created              | finished                         | settings |                                                             result                                                              | error
---------------------------------------+-------+-----------+-----------------------------+------------+---------------+-------------+----------------------------------+----------------------------------+----------+---------------------------------------------------------------------------------------------------------------------------------+--------
  00f58d83-c934-4a3f-98dc-84bf5936dfeb | TRAIN | SUCCEEDED | public.pipe_tf_binary_py310 |            |             1 | kwdbmlusr01 | 2024-05-17 06:35:02.125377+00:00 | 2024-05-17 06:36:47.574758+00:00 | {}       | [{"objective": "loss", "score": 0.4962}, {"objective": "precision", "score": 0.7879}, {"objective": "recall", "score": 0.9123}] |
(1 row)

中止作业

前提条件

  • 非三权分立模式下,用户为 Admin 用户或者作业的创建者。
  • 三权分立模式下,用户是 sysadmin 角色的成员或者作业的创建者。默认情况下,sysroot 用户属于 sysadmin 角色。
  • 待中止的作业正在运行(RUNNING 状态)。

语法格式

SELECT kwdbml.cancel_job(<job_id>);

参数说明

参数类型描述
job_idUUID后台作业的标识。

返回字段说明

参数类型描述
kwdbml.cancel_jobSTRING已中止的后台作业的标识。

语法示例

SELECT kwdbml.cancel_job('1dc46a55-36b7-4da5-aff1-1bf6b4c9bf3b');

执行成功后,控制台输出以下信息:

kwdbml.cancel_job 
+-------------------------+
1dc46a55-36b7-4da5-aff1-1bf6b4c9bf3b
(1 row)

删除作业

前提条件

  • 非三权分立模式下,用户为 Admin 用户。
  • 三权分立模式下,用户是 sysadmin 角色的成员。默认情况下,sysroot 用户属于 sysadmin 角色。

语法格式

SELECT kwdbml.remove_job(job_id);

参数说明

参数类型描述
job_idUUID后台作业的标识。

返回字段说明

参数类型描述
kwdbml.remove_jobSTRING已删除的后台作业的标识。

语法示例

SELECT kwdbml.remove_job('1dc46a55-36b7-4da5-aff1-1bf6b4c9bf3b');

执行成功后,控制台输出以下信息:

kwdbml.remove_job 
+------------------------+
1dc46a55-36b7-4da5-aff1-1bf6b4c9bf3b
(1 row)