更新时间:2023-05-24 GMT+08:00
分享

提交实时流近线作业

功能介绍

该接口用于提交实时流作业并进行近线计算。

URI

POST /v1/{project_id}/nearline-job

参数说明请参见表1

表1 URI参数说明

名称

是否必选

类型

说明

project_id

String

项目编号,用于资源隔离。获取方法请参见获取项目ID

请求消息

请求参数请参见表2

表2 请求参数说明

参数名称

是否必选

参数类型

描述信息

workspace_id

String

工作空间ID,默认为0

job_name

String

训练作业名称,最大长度为20字符。

job_description

String

训练作业描述,最大长度为256字符。

nearline_platform

JSON

请参见表3,近线计算平台。

storage

JSON

请参见表5,信息存储。

strategy

JSON

请参见表8,策略信息。

表3 nearline_platform参数说明

参数名称

是否必选

参数类型

说明

platform

String

平台名称,最大长度64字符,支持DLI。

platform_parameter

JSON

请参见表4,平台参数。

computing_resource

String

指定DLI运行任务的资源规格。

config_load_path

String

所选配置生成的文件在OBS上的存储路径。

表4 platform_parameter参数说明

参数名称

是否必选

参数类型

说明

cluster_name

String

集群名称。

cluster_id

String

集群ID。

表5 storage参数信息

参数名称

是否必选

参数类型

说明

user_profile_storage

JSON

用户画像存储信息,若strategy字段中algorithm_type为:NEARLINE_WRITE_USER_PROFILE 、NEARLINE_UPDATE_USER_PORTRAIT、NEARLINE_UPDATE_USER_CANDIDATE_SET则必选。具体请参见表6

item_profile_storage

JSON

物品画像存储信息,若strategy字段中algorithm_type为:NEARLINE_WRITE_ITEM_PROFILE 、NEARLINE_UPDATE_USER_PORTRAIT、NEARLINE_UPDATE_USER_CANDIDATE_SET则必选。具体请参见表6

filter_set_storage

JSON

历史记录存储信息,若strategy字段中algorithm_type为NEARLINE_UPDATE_USER_PORTRAIT、NEARLINE_UPDATE_USER_CANDIDATE_SET时,根据是否需要用到历史记录选填。具体请参见表6

candidate_set_storage

JSON

候选集存储信息,若strategy字段中algorithm_type为NEARLINE_UPDATE_USER_CANDIDATE_SET时必选。具体请参见表6

表6 存储信息

参数名称

是否必选

参数类型

说明

platform

String

平台名称,现支持CloudTable。

platform_parameter

JSON

请参见表7

表7 platform_parameter参数说明

参数名称

是否必选

参数类型

说明

cluster_id

String

集群ID。

table_name

String

表名称,最大长度64字符

cluster_name

String

集群名称。

data_version

String

数据版本号。V1或者V2。

region_info

JSON

预分区信息。如果选择数据版本为V2时,才需要设置预分区信息。V1则默认不进行预分区。请参见表15,预分区信息。

表8 strategy参数说明

参数名称

是否必选

参数类型

说明

strategy_type

String

可选值:nearline。

name

String

策略别名,最大长度60字符。

algorithm_type

String

算法类型。现提供四种字段。

NEARLINE_WRITE_USER_PROFILE (根据用户信息日志写入用户画像)

NEARLINE_WRITE_ITEM_PROFILE(根据物品信息日志写入物品画像)

NEARLINE_UPDATE_USER_PORTRAIT(根据行为日志,更新用户画像)

NEARLINE_UPDATE_USER_CANDIDATE_SET(根据行为日志,更新用户候选集)

parameter

JSON

请参见表9,算法参数。

表9 parameter参数说明

参数名称

是否必选

参数类型

说明

data_source

JSON

请参见表10,数据源参数。

实时流近线任务支持的推荐标准数据为用户操作行为表

data_source_config

JSON

请参见表12,数据源参数配置。

algorithm_config

JSON

请参见表13,算法参数配置。

表10 data_source参数说明

参数名称

是否必选

参数类型

说明

platform

String

平台名称,现在只支持DIS。将实时近线任务需要的数据添加到DIS中,推荐系统通过读取该数据进行近线计算。

platform_parameter

JSON

请参见表11,平台参数。

表11 platform_parameter参数说明

参数名称

是否必选

参数类型

说明

stream_name

String

DIS通道名称。

starting_offsets

String

读取DIS数据的起始位置。

  • LATEST:从最新的数据开始读取。
  • EARLIEST:从最旧的数据开始读取。
表12 data_source_config参数说明

参数名称

是否必选

参数类型

说明

behavior_type

List<String>

行为类型选取。

interval

Integer

近线策略流处理的窗口时间,单位为秒,10代表每隔10s进行一次。包括数据读取和处理的流计算。

表13 algorithm_config 参数说明

参数名称

是否必选

参数类型

说明

update_context

Boolean

是否对上下文信息进行更新。若algorithm_type为NEARLINE_UPDATE_USER_PORTRAIT,则此字段必填。

update_item_hotvalue_flag

Boolean

是否更新物品的热度值。若algorithm_type为NEARLINE_UPDATE_USER_PORTRAIT,则此字段必填。

filter_history_flag

Boolean

是否保存用户的历史记录或利用历史记录进行过滤。若algorithm_type为NEARLINE_UPDATE_USER_PORTRAIT或NEARLINE_UPDATE_USER_CANDIDATE_SET,则此字段必填。

max_history_num

Int

保存历史记录最大长度。若filter_history_flag为真,则必填。

result_path

String

实时数据样本保存路径。若algorithm_type为NEARLINE_UPDATE_USER_PORTRAIT,则此字段必填。

rank_type

String

候选集结果排序方式。提供HOT(热度排序)、RANDOM(随机排序)、TIME(时间排序)三种方式。若algorithm_type为NEARLINE_UPDATE_USER_CANDIDATE_SET,则此字段必填。

max_candidate_number

Int

召回候选集的最大长度。若algorithm_type为NEARLINE_UPDATE_USER_CANDIDATE_SET,则此字段必填。

recall_type

String

候选集召回的方式。提供TAG_BASE(基于用户兴趣标签)、ACTION_BASE(根据行为行为)两种方式。若algorithm_type为NEARLINE_UPDATE_USER_CANDIDATE_SET,则此字段必填。

use_tag_nums

Int

候选集兴趣宽度(值越大召回的候选集中不同类型的物品越多,值越小则召回的类型越单一)。若algorithm_type为NEARLINE_UPDATE_USER_CANDIDATE_SET,则此字段必填。

time_name

String

物品数据中代表时间特征的字段名。若rank_type值为TIME,则此字段必填。

rec_day

Int

数据的时间段,该时间段从当前开始往前推N天。

若rank_type值为TIME,则此字段必填。

global_features_information_path

String

全局配置表路径。

bad_record_log

String

异常数据记录日志路径。路径填写到文件夹。

advanced_search

Map<String, List<String>>

自定义搜索条件。

会将key强制转换成value中的值进行检索。

candidate

JSON

详情请参见表14

tag_reduce_rate

Double

兴趣标签的衰减参数,数值越小,衰减能力越强。数值越大,衰减能力越弱。若值为0,则代表不衰减。

tags_mainten_length

Int

各标签体系下,兴趣标签的最大长度。

表14 canidate 参数说明

参数名称

是否必选

参数类型

说明

time_feature

String

特征值为10位时间戳的特征名称。

max_size

Int

维护的候选集的最大长度。

retain_days

Int

保留时间为最近N天的候选集。

表15 region_info参数说明

参数名称

是否必选

参数类型

说明

region_num

Integer

预分区个数。默认推荐预分区8个。

index_region_num

Integer

索引表预分区个数。近线策略中只有基于用户数据更新用户画像和基于物品数据更新物品画像需要设置索引表预分区个数,其他近线策略则不需要。

响应消息

响应参数请参见表16

表16 响应参数说明

参数名称

是否必选

参数类型

说明

is_success

Boolean

是否成功。

nearline_uuid

String

候选集ID。

job_id

String

作业ID。

示例

  • 请求示例
    {
    	"job_name": "Nearline-update",
    	"job_description": "",
    	"nearline_platform": {
    		"platform": "DLI",
    		"platform_parameter": {
    			"cluster_name": "dli-1"
    		},
    		"config_load_path": "<配置生成的文件在OBS上的存储路径>",
    		"computing_resource": ""
    	},
    	"storage": {
    		"user_profile_storage": {
    			"platform": "CloudTable",
    			"platform_parameter": {
    				"cluster_id": "96219587-3bb2-4eed-a8d0-0cda6dc50223",
    				"cluster_name": "cloudtable-62d2",
    				"table_name": "write-profile-user"
    			}
    		},
    		"item_profile_storage": {
    			"platform": "CloudTable",
    			"platform_parameter": {
    				"cluster_id": "96219587-3bb2-4eed-a8d0-0cda6dc50223",
    				"cluster_name": "cloudtable-62d2",
    				"table_name": "write-profile-item"
    			}
    		},
    		"filter_set_storage": {
    			"platform": "CloudTable",
    			"platform_parameter": {
    				"cluster_id": "96219587-3bb2-4eed-a8d0-0cda6dc50223",
    				"cluster_name": "cloudtable-62d2",
    				"table_name": "write-profile-filter"
    			}
    		}
    	},
    	"strategy": {
    		"name": "基于行为数据的用户画像更新",
    		"algorithm_type": "NEARLINE_UPDATE_USER_PORTRAIT",
    		"strategy_type": "nearline",
    		"parameter": {
    			"data_source_config": {
    				"behavior_type": ["view", "click", "collect", "uncollect", "search_click", "comment", "share", "like", "dislike", "grade", "consume", "use"],
    				"interval": "10"
    			},
    			"data_source": {
    				"platform": "DIS",
    				"platform_parameter": {
    					"stream_name": "dis-evan",
    					"starting_offsets": "latest"
    				}
    			},
    			"algorithm_config": {
    				"update_context": true,
    				"update_item_hotvalue_flag": true,
    				"filter_history_flag": true,
    				"max_history_num": 100,
    				"result_path": "<实时数据样本保存路径>",
    	                        "global_features_information_path":"<全局配置表路径>",
    				"bad_record_log":"<异常数据记录日志路径>"
    			}
    		}
    	}
    }
  • 成功响应示例
    {
        "is_success": true,
        "job_id": "cdf49df766f2499586685b08212fd03f",
        "nearline_uuid": "61496485f0ba4a77b02b4f66f3c11078"
    }
  • 失败响应示例
    {
        "is_success": false,
        "error_code": "res.1008",
        "error_msg": "The request parameter(job_name) is null."
    }

状态码

状态码请参见状态码

分享:

    相关文档

    相关产品