提交组合作业
功能介绍
该接口用于提交组合作业进行离线计算,并完成对应策略的候选集生成。
请求消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
workspace_id |
否 |
String |
工作空间ID,默认为0 |
job_name |
是 |
String |
训练作业名称,只能由数字,字母,下划线,中划线组成,最大长度为20字符。 |
job_description |
否 |
String |
训练作业描述,最大长度为256字符。 |
offline_platform |
是 |
List |
请参见表3,离线计算平台信息。 |
data_source |
是 |
List |
请参见表5数据源。 |
storage |
是 |
List |
请参见表8,信息存储。 |
algorithm_setting |
是 |
JSON |
请参见表10,算法配置。 |
filter_rules |
否 |
JSON |
请参见表12,过滤配置列表。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
platform |
是 |
String |
平台名称,支持DLI。 |
platform_parameter |
是 |
JSON |
请参见表4,平台参数。 |
computing_resource |
否 |
String |
指定DLI运行任务的资源规格。 |
config_load_path |
是 |
String |
配置加载路径。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
table_type_id |
是 |
String |
推荐通用数据模板
数据格式请参见推荐系统离线数据源。 |
data_source_url |
是 |
String |
数据源路径,最大长度1000字符。 |
data_format |
是 |
String |
数据格式,可选值:csv、parquet、json、orc。 |
data_param |
否 |
JSON |
请参见表7,数据格式是csv的时候必选,其他可选。 |
start_time |
否 |
String |
通用格式数据源开始时间。例如,“2018-01-01”。 |
end_time |
否 |
String |
通用格式数据源结束时间。例如,“2018-02-01”。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
header |
是 |
String |
是否显示表头,有表头"true"或无表头"false"。 |
delimiter |
是 |
String |
分隔符,最大长度10字符。 |
quote |
是 |
String |
引用字符,最大长度10字符。 |
escape |
是 |
String |
转义字符,最大长度10字符。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
platform |
是 |
String |
平台名称,现支持CloudTable。 |
platform_parameter |
是 |
JSON |
请参见表9,数据存储参数。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
cluster_id |
是 |
String |
集群ID。 |
table_name |
是 |
String |
表名称,最大长度64字符。 |
cluster_name |
否 |
String |
集群名称。 |
data_version |
否 |
String |
数据版本号。V1或者V2。 |
region_info |
否 |
JSON |
预分区信息。如果选择数据版本为V2时,才需要设置预分区信息。V1则默认不进行预分区。请参见表17,预分区信息。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
start_time |
否 |
Long |
训练数据开始时间,以毫秒为单位的时间戳。 |
end_time |
否 |
Long |
训练数据结束时间,以毫秒为单位的时间戳。 |
strategy |
是 |
List |
请参见表11,策略集合。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
strategy_type |
是 |
String |
策略类型(可选值)
|
name |
是 |
String |
策略别名,最大长度60字符。 |
algorithm_type |
是 |
String |
算法类型。 |
parameter |
是 |
JSON |
算法参数,JSON格式。
说明:
提交模板作业接口,根据选择策略的不同,参数也有不同。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
behavior_rules |
否 |
List |
请参见表13,用户行为过滤配置。 |
blacklist |
否 |
String |
黑名单过滤配置。 |
whitelist |
否 |
String |
白名单过滤配置。 |
etl_uuid |
否 |
String |
特征工程-用户物品特征抽取生成的uuid,用于属性过滤配置。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
behavior_type |
是 |
String |
行为类型 。
|
interval |
是 |
Integer |
代表过去几天的天数,取值[1,10000]。 |
frequency |
是 |
Integer |
代表频率次数,取值[1,10000]。 |
响应消息
参数名称 |
是否必选 |
参数类型 |
描述信息 |
---|---|---|---|
is_success |
是 |
Boolean |
是否成功。 |
strategies |
是 |
List |
请参见表15,返回策略结果集。 |
job_id |
是 |
String |
作业ID。 |
filter_uuid |
是 |
String |
过滤规则生成的uuid。 |
示例
- 请求示例
{ "job_name": "yyn-test", "job_description": "yyn-test", "data_source": [ { "offline": [ { "table_type_id": "USER_META", "data_format": "csv", "data_param": { "header": "false", "delimiter": ",", "quote": "\"", "escape": "\\" }, "data_source_url": "<数据源存储的OBS路径>" } { "table_type_id": "ITEM_META", "data_format": "csv", "data_param": { "header": "false", "delimiter": ",", "quote": "\"", "escape": "\\" }, "data_source_url": "<数据源存储的OBS路径>" }, { "table_type_id": "USER_BEHAVIOR", "data_format": "csv", "data_param": { "header": "false", "delimiter": ",", "quote": "\"", "escape": "\\" }, "data_source_url": "<数据源存储的OBS路径>" } ] } ], "offline_platform": [ { "platform": "DLI", "platform_parameter": { "cluster_name": "res_one" }, "config_load_path": "<配置加载路径>" } ], "storage": [ { "platform": "CloudTable", "platform_parameter": { "cluster_id": "cca518b4-a9fb-4dbf-80bb-d6838cbdcc87", "cluster_name": "cloudtable-ccb1-sec", "table_name": "yyn-555" } } ], "algorithm_setting": { "strategy": [ { "name": "默认推荐-特定行为热度", "algorithm_type": "SpecificBehavior", "strategy_type": "recall", "parameter": { "data_source_config": { "retain_days": 30, "behavior_type": "collect", "start_time": 1543593600000, "end_time": 1543939200000 }, "algorithm_config": {}, "candidate_set_config": { "is_recommended_by_category": false } } }, { "name": "基于物品的协同过滤推荐", "algorithm_type": "ItemCF", "strategy_type": "recall", "parameter": { "data_source_config": { "retain_days": 30, "behavior_weights": [ { "behavior_type": "view", "weight": 1 } ] }, "algorithm_config": { "similar_metric": "cosine" }, "candidate_set_config": { "max_recommended_num": 1000 } } }, { "name": "业务规则-基于历史行为记忆生成候选集", "algorithm_type": "HistoryBehaviorMemory", "strategy_type": "recall", "parameter": { "data_source_config": { "retain_days": 30 }, "algorithm_config": { "history_behavior_memories": [ { "behavior_type": "view", "least_intension": 1 } ] }, "candidate_set_config": {} } }, { "name": "域感知因子分解机", "strategy_type": "sorting", "algorithm_type": "FFM", "parameter": { "algorithm_parameters": { "max_iterations": 50, "early_stop_iterations": 5, "fields_feature_size_path": "<数据存储的OBS路径>", "algorithm_specify_parameters": { "latent_vector_length": 10 }, "regular_parameters": { "l2_regularization": 0, "regular_loss_compute_mode": "full" }, "initial_parameters": { "initial_method": "normal", "mean_value": 0, "standard_deviation": 0.001 }, "optimize_parameters": { "type": "grad", "learning_rate": 0.001 } }, "algorithm_type": "FFM", "spec_id": 1, "run_path": "<训练结果保存根路径>", "training_data_path": "<训练数据的obs路径>", "test_data_path": "<测试数据的obs路径>" } } ], "start_time": 1543593600000, "end_time": 1543939200000 }, "filter_rules": { "behavior_rules": [ { "behavior_type": "collect", "interval": 7, "frequency": 5 } ], "blacklist": "<黑名单存储路径>", "whitelist": "<白名单存储路径>" } }
- 成功响应示例
{ "is_success": true, "strategies": [ { "name": "默认推荐-特定行为热度", "strategy_type": "recall", "algorithm_type": "SpecificBehavior", "parameter": { "data_source_config": { "retain_days": 30, "behavior_type": "collect", "start_time": 1543593600000, "end_time": 1543939200000 }, "algorithm_config": {}, "candidate_set_config": { "is_recommended_by_category": false } }, "candidate_set": [ { "uuid": "bb45ef1d31a7488584724f58d468d9ae", "description": "[默认推荐-特定行为热度]特定行为热度推荐算法生成的候选集" } ], "strategy_id": 0 }, { "name": "基于物品的协同过滤推荐", "strategy_type": "recall", "algorithm_type": "ItemCF", "parameter": { "data_source_config": { "retain_days": 30, "behavior_weights": [ { "behavior_type": "view", "weight": 1 } ] }, "algorithm_config": { "similar_metric": "cosine" }, "candidate_set_config": { "max_recommended_num": 1000 } }, "candidate_set": [ { "uuid": "958d09223b2e4175b2740f8f782cc5fc", "description": "[基于物品的协同过滤推荐]ItemCF算法生成的用户-物品列表候选集" } ], "strategy_id": 1 }, { "name": "业务规则-基于历史行为记忆生成候选集", "strategy_type": "recall", "algorithm_type": "HistoryBehaviorMemory", "parameter": { "data_source_config": { "retain_days": 30 }, "algorithm_config": { "history_behavior_memories": [ { "behavior_type": "view", "least_intension": 1 } ] }, "candidate_set_config": {} }, "candidate_set": [ { "uuid": "1b5301f0c7804e28b66eb46c92249ed2", "description": "[业务规则-基于历史行为记忆生成候选集]CustomRule生成的用户-物品列表候选集" } ], "strategy_id": 2 }, { "name": "域感知因子分解机", "strategy_type": "sorting", "algorithm_type": "FFM", "parameter": { "algorithm_parameters": { "row_features_size": "6", "algorithm_specify_parameters": { "latent_vector_length": 10 }, "initial_parameters": { "initial_method": "normal", "mean_value": -0.001, "standard_deviation": 0.001 }, "optimize_parameters": { "type": "grad", "learning_rate": 0.1, "log_loss_reduce_method": "mean" }, "regular_parameters": { "l2_loss_weight_lambda": 0.001 }, "loss_mode": { "l2_loss_mode": "full" }, "fields_feature_size_path": "<数据存储路径>" }, "algorithm_type": "FFM", "spec_id": 1, "name": "域感知因子分解机", "run_path": "<训练结果保存根路径>", "training_data_path": "<训练数据的obs路径>", "test_data_path": "<测试数据的obs路径>" }, "candidate_set": [ { "uuid": "4aa9f06d24254fedbe462bfbfb879e63", "description": "[域感知因子分解机]" } ], "strategy_id": 0 } ], "filter_uuid": "857578fafa4746dd873722d661725154", "job_id": "f171a66489904462bad0a89d9b7483de" }
- 失败响应示例
{ "is_success": false, "error_code": "res.2013", "error_msg": "There dataSource is empty or less than five." }
状态码
状态码请参见状态码。