投影接口
投影创建
接口地址:/api/v1/rp
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
接口描述:
需要通过 SQL 创建同等配置的投影时,可使用 CREATE PROJECTION ... WITH PROPERTIES。SQL 属性使用 Tardis 原生 API 命名:本接口的 incrementalConfig 对应 incrementalConfigV2,partitionConfig 对应 partitionsReadConfig,streamed 对应 streaming。单投影 scheduleConfig 与表级刷新配置不同。
MERGE 的 LEFT JOIN 增量开关:
创建接口 POST /api/v1/rp 和更新接口 POST /api/v1/rp/{id} 的请求体支持 incrementalConfig.allowLeftJoin。布尔值,默认 false,仅在 writeMode=MERGE 时生效。内部接口 /acceleration/config/create、/acceleration/config/update 使用同一配置。
下面是需要合并到完整投影请求中的增量配置示例;路径和字段名应替换为实际视图对应值:
{
"incrementalConfig": {
"writeMode": "MERGE",
"allowLeftJoin": true,
"incrementalSources": [
{"metadataPath": ["catalog", "schema", "A"], "column": "a_seq", "tableSourceColumn": "seq"},
{"metadataPath": ["catalog", "schema", "B"], "column": "b_seq", "tableSourceColumn": "seq"}
],
"expression": "ON t.a_id = s.a_id AND t.b_id = s.b_id WHEN MATCHED THEN UPDATE SET *",
"errorHandle": "CONTINUE_INSERT"
}
}
该开关只放行 LEFT JOIN 类型检查;调用方必须保证稳定唯一匹配键、没有需要撤回的消失结果,且变化能被增量捕获,具体条件见投影增量构建。INSERT 不受此开关影响,RIGHT JOIN、FULL JOIN 和其他不支持的增量算子仍被拒绝。首次构建,以及 MERGE 开关值变更后的首次刷新,执行全量构建。
直接调用 Tardis V2 RP 接口时,同一开关位于 details.incrementalConfigV2.allowLeftJoin。
请求体body示例:
{
"createFrom":""
"dataSetGuid": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"id": "",
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": [],
"name": ""
}
],
"name": "",
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"startupMode":"" // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 流式RP下需要携带
"streamed": true,
"type": "",
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
}
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | false | string | ||
| dataSetGuid | 数据集guid | false | string | ||
| dimensionFields | 维度字段集合 | false | array | AccelerationFieldRequest | |
| displayFields | 显示字段集合 | false | array | AccelerationFieldRequest | |
| enabled | 是否开启此加速 | false | boolean | ||
| id | 加速id | false | string | ||
| isOpenStrongDependency | 是否周期强依赖 | false | boolean | ||
| measureFields | 度量字段集合 | false | array格式详见示例 | 度量字段 | |
| measureFields[].name | 字段名 | false | string | ||
| measureFields[].measureTypeList | 度量类型列表 | false | array | string | |
| name | 加速名称 | false | string | ||
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | false | string | ||
| partitionFields | 分区字段集合 | false | array格式详见示例 | AccelerationFieldRequest | |
| sortFields | 排序字段集合 | false | array格式详见示例 | AccelerationFieldRequest | |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,流式RP下需要携带 | false | string | ||
| streamed | 是否开启流式RP | false | boolean | ||
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | false | string | ||
| scheduleConfig | 调度配置 | true | json | ||
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | true | string | ||
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | true | string | ||
| 响应状态: |
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | AccelerationGoalVO |
| 404 | 未找到资源 |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| airTableType | 数据集的类型,PDS/VDS | string | |
| attachType | 业务类型 DATASET 数据集RP,CUSTOM_RP - 自定义RP | string | |
| configState | 配置的状态,ENABLED/DISABLED/DELETED | string | |
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | string | |
| createdAt | 创建时间 | integer(int64) | integer(int64) |
| dataSetGuid | 数据集guid | string | |
| datasetName | 数据集名称 | string | |
| dimensionFields | 维度字段集合 | array格式详见示例 | AccelerationFieldRequest |
| displayFields | 显示字段集合 | array | AccelerationFieldRequest |
| enabled | 是否开启此加速 | boolean | |
| errorCode | 错误码 | string | |
| errorMsg | 错误信息 | string | |
| goalStatus | 投影状态 | Object 格式详见示例 | GoalStatusVO |
| goalStatus.accelerateStatus | 加速状态,可用值:ANOMALOUS,AVAILABLE,DISABLE,UNAVAILABLE | string | |
| goalStatus.availableSizeBytes | 物化结果占用的可用大小 | integer(int64) | |
| goalStatus.invalidFields | 错误信息 | array | string |
| goalStatus.latestUpdateStatus | 最近更新状态,可用值:CANCEL,FAILED,PENDING,RUNNING,SUCCESS | string | |
| goalStatus.latestUpdateTime | 最近更新时间 | string(date-time) | |
| goalStatus.solutionStatus | 方案状态,枚举,可用值:DISABLE,ERROR,EXCEPTION,INITIAL,LOADING,NORMAL | string | |
| goalStatus.solutionStatusMessage | 方案状态描述 | string | |
| goalStatus.subUpdateStatusMessage | 更新状态子状态文案 | string | |
| goalStatus.totalSizeBytes | 物化结果占用的总大小 | integer(int64) | |
| goalStatus.updateStatus | 更新状态,可用值:UPDATE_COMPLETED,UPDATE_FAILED,UPDATING,WAITING_UPDATE | string | |
| id | 加速id | string | |
| isOpenStrongDependency | 是否周期强依赖 | boolean | |
| measureFields | 度量字段集合 | array格式详见示例 | 度量字段 |
| name | 加速名称 | string | |
| owner | 负责人 | SimpleUserDTO | SimpleUserDTO |
| owner.userId | 负责人用户id | string | |
| owner.username | 负责人用户名 | string | |
| parametricView | 数据集是否是参数化视图 | boolean | |
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | string | |
| partitionFields | 分区字段集合 | array格式详见示例 | AccelerationFieldRequest |
| scheduleConfig | 调度配置 | json | |
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | string | |
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | string | |
| sortFields | 排序字段集合 | array格式详见示例 | AccelerationFieldRequest |
| sourceType | 数据源类型 | string | |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,UNRECOGNIZED | string | |
| streamed | 当前RP是否是流式RP | boolean | |
| success | 执行是否成功 | boolean | |
| tag | 加速tag | string | |
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | string | |
| updatedAt | 更新时间 | integer(int64) | integer(int64) |
| version | 加速版本 | integer(int64) | integer(int64) |
响应示例:
{
"data":{
"configState": "",
"createFrom": "",
"createdAt": 0,
"dataSetGuid": "",
"datasetName": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"goalStatus": {
"accelerateStatus": "AVAILABLE/DISABLE/ANOMALOUS/UNAVAILABLE", // AVAILABLE:可用 DISABLE:停用 ANOMALOUS:异常 UNAVAILABLE:不可用
"invalidFields": [],
"latestUpdateStatus": "SUCCESS/FAILED/RUNNING/CANCEL/PENDING", // 最近更新状态 SUCCESS:成功 FAILED:失败 RUNNING:运行中 CANCEL:取消 PENDING:等待执行
"totalSizeBytes": 0, // 物化结果占用的总大小
"updateStatus": "UPDATE_FAILED/UPDATE_COMPLETED/WAITING_UPDATE/UPDATING"
},
"id": "", //投影唯一id
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": ["",""], //度量类型列表
"name": ""
}
],
"name": "", //投影名称
"parametricView": true,
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"sourceType": "",
"startupMode":"", // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 当前RP为流式RP才返回
"streamed": true, //当前rp是否是流式rp
"success": true,
"type": "",
"updatedAt": 0,
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
},
"errorCode":"",
"errorMsg":"",
"success": true / false
}
删除加速方案
接口地址:/api/v1/rp/delete/{id}
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
接口描述:
请求体body示例:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | 投影id | path | true | string | |
| deleteExportTask | 是否删除导出任务 | body | false | boolean |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | |
| 404 | 未找到资源 |
响应参数:
暂无
响应示例:
根据资源guid查询rp
接口地址:/api/v1/rp/queryByDataset
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| dataset_guid | 资源guid | query | true | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | AccelerationGoalVO |
| 404 | 未找到资源 |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| airTableType | 数据集的类型,PDS/VDS | string | |
| attachType | 业务类型 DATASET 数据集RP,CUSTOM_RP - 自定义RP | string | |
| configState | 配置的状态,ENABLED/DISABLED/DELETED | string | |
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | string | |
| createdAt | 创建时间 | integer(int64) | integer(int64) |
| dataSetGuid | 数据集guid | string | |
| datasetName | 数据集名称 | string | |
| dimensionFields | 维度字段集合 | array | AccelerationFieldRequest |
| displayFields | 显示字段集合 | array | AccelerationFieldRequest |
| enabled | 是否开启此加速 | boolean | |
| errorCode | 错误码 | string | |
| errorMsg | 错误信息 | string | |
| goalStatus | 投影状态 | Object 格式详见示例 | GoalStatusVO |
| goalStatus.accelerateStatus | 加速状态,可用值:ANOMALOUS,AVAILABLE,DISABLE,UNAVAILABLE | string | |
| goalStatus.availableSizeBytes | 物化结果占用的可用大小 | integer(int64) | |
| goalStatus.invalidFields | 错误信息 | array | string |
| goalStatus.latestUpdateStatus | 最近更新状态,可用值:CANCEL,FAILED,PENDING,RUNNING,SUCCESS | string | |
| goalStatus.latestUpdateTime | 最近更新时间 | string(date-time) | |
| goalStatus.solutionStatus | 方案状态,枚举,可用值:DISABLE,ERROR,EXCEPTION,INITIAL,LOADING,NORMAL | string | |
| goalStatus.solutionStatusMessage | 方案状态描述 | string | |
| goalStatus.subUpdateStatusMessage | 更新状态子状态文案 | string | |
| goalStatus.totalSizeBytes | 物化结果占用的总大小 | integer(int64) | |
| goalStatus.updateStatus | 更新状态,可用值:UPDATE_COMPLETED,UPDATE_FAILED,UPDATING,WAITING_UPDATE | string | |
| id | 加速id | string | |
| isOpenStrongDependency | 是否周期强依赖 | boolean | |
| measureFields | 度量字段集合 | array格式详见示例 | 度量字段 |
| name | 加速名称 | string | |
| owner | 负责人 | SimpleUserDTO | SimpleUserDTO |
| owner.userId | 负责人用户id | string | |
| owner.username | 负责人用户名 | string | |
| parametricView | 数据集是否是参数化视图 | boolean | |
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | string | |
| partitionFields | 分区字段集合 | array | AccelerationFieldRequest |
| scheduleConfig | 调度配置 | json | |
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | string | |
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | string | |
| sortFields | 排序字段集合 | array | AccelerationFieldRequest |
| sourceType | 数据源类型 | string | |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,UNRECOGNIZED | string | |
| streamed | 是否是流式RP | boolean | |
| success | 执行是否成功 | boolean | |
| tag | 加速tag | string | |
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | string | |
| updatedAt | 更新时间 | integer(int64) | integer(int64) |
| version | 加速版本 | integer(int64) | integer(int64) |
响应示例:
{
"data":[
{
"configState": "",
"createFrom": "",
"createdAt": 0,
"dataSetGuid": "",
"datasetName": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"goalStatus": {
"accelerateStatus": "AVAILABLE/DISABLE/ANOMALOUS/UNAVAILABLE", // AVAILABLE:可用 DISABLE:停用 ANOMALOUS:异常 UNAVAILABLE:不可用
"invalidFields": [],
"latestUpdateStatus": "SUCCESS/FAILED/RUNNING/CANCEL/PENDING", // 最近更新状态 SUCCESS:成功 FAILED:失败 RUNNING:运行中 CANCEL:取消 PENDING:等待执行
"totalSizeBytes": 0, // 物化结果占用的总大小
"updateStatus": "UPDATE_FAILED/UPDATE_COMPLETED/WAITING_UPDATE/UPDATING"
},
"id": "", //投影唯一id
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": ["",""], //度量类型列表
"name": ""
}
],
"name": "", //投影名称
"parametricView": true,
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"sourceType": "",
"startupMode":"", // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 当前RP为流式RP才返回
"streamed": true, //当前rp是否是流式rp
"success": true,
"type": "",
"updatedAt": 0,
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
}
],
"errorCode":"",
"errorMsg":"",
"success": true / false
}
立即刷新数据集下所有加速
接口地址:/api/v1/rp/refresh/dataset
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| dataset_guid | 数据集Guid | query | true | string | |
| partition_param | partition_param | query | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | |
| 404 | 未找到资源 |
响应参数:
暂无
响应示例:
如果刷新失败则会报错,success为false
立即刷新加速
接口地址:/api/v1/rp/refresh/{accelerationId}
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
接口描述:
请求体body示例:
{
"bizTimeFormat": "RANGE/SPECIFIC",
"endBizTime": "",
"remark": "",
"scheduleBizTimes": [],
"startBizTime": ""
}
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| accelerationId | 加速id | path | true | string | |
| bizTimeFormat | 可用值:RANGE,SPECIFIC | body | false | string | |
| endBizTime | body | false | string | ||
| remark | body | false | string | ||
| scheduleBizTimes | body | false | array | ||
| startBizTime | body | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | |
| 404 | 未找到资源 |
响应参数:
暂无
响应示例:
如果刷新失败则会报错,success为false
查询投影执行历史
接口地址:/api/v1/rp/history
请求方式:GET
请求数据类型:无请求体,参数通过查询字符串传递
响应数据类型:application/json
接口描述:
按投影 ID 分页查询刷新任务的执行记录。page_number 从 1 开始,page_number 和 page_size 均须大于等于 1。投影不存在时查询失败;无执行记录时,data.list 为 []。
请求示例:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| acceleration_id | 投影 ID | query | true | string |
| page_number | 页码,从 1 开始 | query | true | integer |
| page_size | 每页记录条数,至少 1 | query | true | integer |
响应状态:
| 状态码 | 说明 |
|---|---|
| 200 | OK;业务错误通过 success=false 和 errorCode 表示 |
响应参数:
| 参数名称 | 参数说明 | 类型 |
|---|---|---|
| success | 请求是否成功 | boolean |
| errorCode | 错误码;成功时为 null |
string |
| errorMsg | 错误信息;成功时为 null |
string |
| traceId | 请求追踪 ID | string |
| data.pageNumber | 当前页码 | integer |
| data.pageSize | 每页记录条数 | integer |
| data.total | 记录总数 | integer |
| data.hasNextPage | 是否还有下一页 | boolean |
| data.list | 本页执行记录 | array |
| data.list[].rpId | 投影 ID | string |
| data.list[].rpName | 投影名称 | string |
| data.list[].jobId | 刷新任务 ID | string |
| data.list[].materializationId | 物化结果 ID | string |
| data.list[].executionStatus | 任务执行状态,枚举含义见下方说明;可能为 null |
string |
| data.list[].materializationStatus | 物化数据状态,枚举含义见下方说明;可能为 null |
string |
| data.list[].executionStartTime | 任务触发时间,Unix 毫秒时间戳 | integer |
| data.list[].executionCost | 任务耗时,单位毫秒;任务尚无结束时间时可能为 null |
integer |
| data.list[].streamed | 是否为流式投影 | boolean |
任务执行状态(executionStatus):
| 枚举值 | 含义 |
|---|---|
SUCCESS |
执行成功 |
FAILED |
执行失败 |
RUNNING |
运行中 |
CANCEL |
已取消 |
PENDING |
等待执行 |
任务状态源数据缺失时,executionStatus 可能为 null。
物化数据状态(materializationStatus):
| 枚举值 | 含义 |
|---|---|
NORMAL |
物化数据有效,可用于查询命中 |
EXPIRED |
物化数据已超过有效期,或已被新的物化数据取代 |
DELETED |
物化数据已被物理删除 |
materializationStatus 描述物化数据的当前状态,与描述刷新任务执行情况的 executionStatus 不同。物化数据仍在构建、构建失败、被取消、物化记录缺失或状态无法判定时,返回 null。
时间字段说明:
executionStartTime是从 Unix 纪元(1970-01-01 00:00:00 UTC)起算的毫秒时间戳。当前日期的有效值通常为 13 位;按毫秒转换为日期时间,并按使用方需要的时区展示。源时间缺失时返回0,此时不应将其解释为实际任务触发时间。executionCost是耗时毫秒数,不是 13 位时间戳。将其除以1000可得到秒数;任务尚无结束时间时可能为null。
响应示例:
{
"success": true,
"errorCode": null,
"errorMsg": null,
"traceId": "<trace-id>",
"data": {
"pageNumber": 1,
"pageSize": 2,
"total": 3,
"hasNextPage": true,
"list": [
{
"rpId": "rp-1",
"rpName": "projection",
"jobId": "job-1",
"materializationId": "materialization-1",
"executionStatus": "SUCCESS",
"materializationStatus": "NORMAL",
"executionStartTime": 1730000000000,
"executionCost": 123,
"streamed": false
}
]
}
}
错误说明:
| 错误码 | 触发条件 |
|---|---|
| DWS08027 | page_number 小于 1 |
| DWS08028 | page_size 小于 1 |
| DWS08047 | acceleration_id 对应的投影不存在 |
取消刷新任务
接口地址:/api/v1/rp/cancelRefreshJob
请求方式:POST
请求数据类型:无请求体,参数通过查询字符串传递
响应数据类型:application/json
接口描述:
按任务 ID 取消运行中的投影刷新任务。任务未处于运行中时不会执行取消;接口不返回是否实际取消的布尔结果。
请求示例:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| job_id | 刷新任务 ID | query | true | string |
无需请求体。
响应状态:
| 状态码 | 说明 |
|---|---|
| 200 | OK;业务错误通过 success=false 和 errorCode 表示 |
响应参数:
| 参数名称 | 参数说明 | 类型 |
|---|---|---|
| success | 请求是否成功 | boolean |
| errorCode | 错误码;成功时为 null |
string |
| errorMsg | 错误信息;成功时为 null |
string |
| traceId | 请求追踪 ID | string |
| data | 无业务返回值,成功时为 null |
null |
响应示例:
错误说明:
查询任务详情失败时,返回 success=false,错误码为 DWS08042;未处理异常对应系统错误码 DWS98002。success=true 只表示请求处理成功,不表示任务一定已被取消。
重跑任务
接口地址:/api/v1/rp/refresh/rerun/{jobId}
请求方式:POST
请求数据类型:无请求体
响应数据类型:application/json
接口描述:
根据已有刷新任务 ID 再次发起投影刷新任务。
请求示例:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| jobId | 刷新任务 ID | path | true | string |
无需请求体。
响应状态:
| 状态码 | 说明 |
|---|---|
| 200 | OK;业务错误通过 success=false 和 errorCode 表示 |
响应参数:
| 参数名称 | 参数说明 | 类型 |
|---|---|---|
| success | 请求是否成功 | boolean |
| errorCode | 错误码;成功时为 null |
string |
| errorMsg | 错误信息;成功时为 null |
string |
| traceId | 请求追踪 ID | string |
| data | 无业务返回值,成功时为 null |
null |
响应示例:
错误说明:
查询原任务详情失败或任务详情为空时,返回 success=false,错误码为 DWS08042;未处理异常对应系统错误码 DWS98002。重新发起刷新失败时,返回对应错误信息。
切换投影方案状态
接口地址:/api/v1/rp/switchStatus
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
接口描述:
请求示例:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| enable | 是否启用,true:启用,false:禁用 | body | false | boolean | |
| id | 投影id | body | false | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | AccelerationGoalVO |
| 404 | 未找到资源 |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| airTableType | 数据集的类型,PDS/VDS | string | |
| attachType | 业务类型 DATASET 数据集RP,CUSTOM_RP - 自定义RP | string | |
| configState | 配置的状态,ENABLED/DISABLED/DELETED | string | |
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | string | |
| createdAt | 创建时间 | integer(int64) | integer(int64) |
| dataSetGuid | 数据集guid | string | |
| datasetName | 数据集名称 | string | |
| dimensionFields | 维度字段集合 | array | AccelerationFieldRequest |
| displayFields | 显示字段集合 | array | AccelerationFieldRequest |
| enabled | 是否开启此加速 | boolean | |
| errorCode | 错误码 | string | |
| errorMsg | 错误信息 | string | |
| goalStatus | 投影状态 | Object 格式详见示例 | GoalStatusVO |
| goalStatus.accelerateStatus | 加速状态,可用值:ANOMALOUS,AVAILABLE,DISABLE,UNAVAILABLE | string | |
| goalStatus.availableSizeBytes | 物化结果占用的可用大小 | integer(int64) | |
| goalStatus.invalidFields | 错误信息 | array | string |
| goalStatus.latestUpdateStatus | 最近更新状态,可用值:CANCEL,FAILED,PENDING,RUNNING,SUCCESS | string | |
| goalStatus.latestUpdateTime | 最近更新时间 | string(date-time) | |
| goalStatus.solutionStatus | 方案状态,枚举,可用值:DISABLE,ERROR,EXCEPTION,INITIAL,LOADING,NORMAL | string | |
| goalStatus.solutionStatusMessage | 方案状态描述 | string | |
| goalStatus.subUpdateStatusMessage | 更新状态子状态文案 | string | |
| goalStatus.totalSizeBytes | 物化结果占用的总大小 | integer(int64) | |
| goalStatus.updateStatus | 更新状态,可用值:UPDATE_COMPLETED,UPDATE_FAILED,UPDATING,WAITING_UPDATE | string | |
| id | 加速id | string | |
| isOpenStrongDependency | 是否周期强依赖 | boolean | |
| measureFields | 度量字段集合 | array格式详见示例 | 度量字段 |
| name | 加速名称 | string | |
| owner | 负责人 | SimpleUserDTO | SimpleUserDTO |
| owner.userId | 负责人用户id | string | |
| owner.username | 负责人用户名 | string | |
| parametricView | 数据集是否是参数化视图 | boolean | |
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | string | |
| partitionFields | 分区字段集合 | array | AccelerationFieldRequest |
| scheduleConfig | 调度配置 | json | |
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | string | |
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | string | |
| sortFields | 排序字段集合 | array | AccelerationFieldRequest |
| sourceType | 数据源类型 | string | |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,UNRECOGNIZED | string | |
| streamed | 是否是流式RP | boolean | |
| success | 执行是否成功 | boolean | |
| tag | 加速tag | string | |
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | string | |
| updatedAt | 更新时间 | integer(int64) | integer(int64) |
| version | 加速版本 | integer(int64) | integer(int64) |
响应示例:
{
"data":{
"configState": "",
"createFrom": "",
"createdAt": 0,
"dataSetGuid": "",
"datasetName": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"goalStatus": {
"accelerateStatus": "AVAILABLE/DISABLE/ANOMALOUS/UNAVAILABLE", // AVAILABLE:可用 DISABLE:停用 ANOMALOUS:异常 UNAVAILABLE:不可用
"invalidFields": [],
"latestUpdateStatus": "SUCCESS/FAILED/RUNNING/CANCEL/PENDING", // 最近更新状态 SUCCESS:成功 FAILED:失败 RUNNING:运行中 CANCEL:取消 PENDING:等待执行
"totalSizeBytes": 0, // 物化结果占用的总大小
"updateStatus": "UPDATE_FAILED/UPDATE_COMPLETED/WAITING_UPDATE/UPDATING"
},
"id": "", //投影唯一id
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": ["",""], //度量类型列表
"name": ""
}
],
"name": "", //投影名称
"parametricView": true,
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"sourceType": "",
"startupMode":"", // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 当前RP为流式RP才返回
"streamed": true, //当前rp是否是流式rp
"success": true,
"type": "",
"updatedAt": 0,
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
},
"errorCode":"",
"errorMsg":"",
"success": true / false
}
根据投影id查询投影详情
接口地址:/api/v1/rp/{id}
请求方式:GET
请求数据类型:application/x-www-form-urlencoded
响应数据类型:*/*
接口描述:
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | 投影id | path | true | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | AccelerationGoalVO |
| 404 | 未找到资源 |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| airTableType | 数据集的类型,PDS/VDS | string | |
| attachType | 业务类型 DATASET 数据集RP,CUSTOM_RP - 自定义RP | string | |
| configState | 配置的状态,ENABLED/DISABLED/DELETED | string | |
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | string | |
| createdAt | 创建时间 | integer(int64) | integer(int64) |
| dataSetGuid | 数据集guid | string | |
| datasetName | 数据集名称 | string | |
| dimensionFields | 维度字段集合 | array | AccelerationFieldRequest |
| displayFields | 显示字段集合 | array | AccelerationFieldRequest |
| enabled | 是否开启此加速 | boolean | |
| errorCode | 错误码 | string | |
| errorMsg | 错误信息 | string | |
| goalStatus | 投影状态 | Object 格式详见示例 | GoalStatusVO |
| goalStatus.accelerateStatus | 加速状态,可用值:ANOMALOUS,AVAILABLE,DISABLE,UNAVAILABLE | string | |
| goalStatus.availableSizeBytes | 物化结果占用的可用大小 | integer(int64) | |
| goalStatus.invalidFields | 错误信息 | array | string |
| goalStatus.latestUpdateStatus | 最近更新状态,可用值:CANCEL,FAILED,PENDING,RUNNING,SUCCESS | string | |
| goalStatus.latestUpdateTime | 最近更新时间 | string(date-time) | |
| goalStatus.solutionStatus | 方案状态,枚举,可用值:DISABLE,ERROR,EXCEPTION,INITIAL,LOADING,NORMAL | string | |
| goalStatus.solutionStatusMessage | 方案状态描述 | string | |
| goalStatus.subUpdateStatusMessage | 更新状态子状态文案 | string | |
| goalStatus.totalSizeBytes | 物化结果占用的总大小 | integer(int64) | |
| goalStatus.updateStatus | 更新状态,可用值:UPDATE_COMPLETED,UPDATE_FAILED,UPDATING,WAITING_UPDATE | string | |
| id | 加速id | string | |
| isOpenStrongDependency | 是否周期强依赖 | boolean | |
| measureFields | 度量字段集合 | array格式详见示例 | 度量字段 |
| name | 加速名称 | string | |
| owner | 负责人 | SimpleUserDTO | SimpleUserDTO |
| owner.userId | 负责人用户id | string | |
| owner.username | 负责人用户名 | string | |
| parametricView | 数据集是否是参数化视图 | boolean | |
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | string | |
| partitionFields | 分区字段集合 | array | AccelerationFieldRequest |
| scheduleConfig | 调度配置 | json | |
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | string | |
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | string | |
| sortFields | 排序字段集合 | array | AccelerationFieldRequest |
| sourceType | 数据源类型 | string | |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,UNRECOGNIZED | string | |
| streamed | 是否是流式RP | boolean | |
| success | 执行是否成功 | boolean | |
| tag | 加速tag | string | |
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | string | |
| updatedAt | 更新时间 | integer(int64) | integer(int64) |
| version | 加速版本 | integer(int64) | integer(int64) |
响应示例:
{
"data":{
"configState": "",
"createFrom": "",
"createdAt": 0,
"dataSetGuid": "",
"datasetName": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"goalStatus": {
"accelerateStatus": "AVAILABLE/DISABLE/ANOMALOUS/UNAVAILABLE", // AVAILABLE:可用 DISABLE:停用 ANOMALOUS:异常 UNAVAILABLE:不可用
"invalidFields": [],
"latestUpdateStatus": "SUCCESS/FAILED/RUNNING/CANCEL/PENDING", // 最近更新状态 SUCCESS:成功 FAILED:失败 RUNNING:运行中 CANCEL:取消 PENDING:等待执行
"totalSizeBytes": 0, // 物化结果占用的总大小
"updateStatus": "UPDATE_FAILED/UPDATE_COMPLETED/WAITING_UPDATE/UPDATING"
},
"id": "", //投影唯一id
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": ["",""], //度量类型列表
"name": ""
}
],
"name": "", //投影名称
"parametricView": true,
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"sourceType": "",
"startupMode":"", // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 当前RP为流式RP才返回
"streamed": true, //当前rp是否是流式rp
"success": true,
"type": "",
"updatedAt": 0,
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
},
"errorCode":"",
"errorMsg":"",
"success": true / false
}
修改加速方案
接口地址:/api/v1/rp/{id}
请求方式:POST
请求数据类型:application/json
响应数据类型:*/*
接口描述:
请求示例:
{
"createFrom": "",
"dataSetGuid": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"id": "",
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": [],
"name": ""
}
],
"name": "",
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"startupMode": "", // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 流式RP情况下需要传
"streamed": true,
"type": "",
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
}
请求参数:
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
|---|---|---|---|---|---|
| id | 投影id | path | true | string | |
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | body | false | string | |
| dataSetGuid | 数据集guid | body | false | string | |
| dimensionFields | 维度字段集合 | body | false | array格式详见示例 | AccelerationFieldRequest |
| displayFields | 显示字段集合 | body | false | array格式详见示例 | AccelerationFieldRequest |
| enabled | 是否开启此加速 | body | false | boolean | |
| isOpenStrongDependency | 是否周期强依赖 | body | false | boolean | |
| measureFields | 度量字段集合 | body | false | array格式详见示例 | 度量字段 |
| measureFields[].name | 字段名 | body | false | string | |
| measureFields[].measureTypeList | 度量类型列表 | body | false | array | string |
| name | 加速名称 | body | false | string | |
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | body | false | string | |
| partitionFields | 分区字段集合 | body | false | array格式详见示例 | AccelerationFieldRequest |
| sortFields | 排序字段集合 | body | false | array格式详见示例 | AccelerationFieldRequest |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,UNRECOGNIZED,流式RP情况下需要传 | body | false | string | |
| streamed | 当前RP是否是流式RP | body | false | boolean | |
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | body | false | string | |
| scheduleConfig | 调度配置 | body | true | json | |
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | body | true | string | |
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | body | true | string |
响应状态:
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK | AccelerationGoalVO |
| 404 | 未找到资源 |
响应参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|---|---|---|
| airTableType | 数据集的类型,PDS/VDS | string | |
| attachType | 业务类型 DATASET 数据集RP,CUSTOM_RP - 自定义RP | string | |
| configState | 配置的状态,ENABLED/DISABLED/DELETED | string | |
| createFrom | 创建来源,枚举,USER:来自用户创建,POLICY:离线智能加速创建,ON_LINE_POLICY:一键智能加速创建 | string | |
| createdAt | 创建时间 | integer(int64) | integer(int64) |
| dataSetGuid | 数据集guid | string | |
| datasetName | 数据集名称 | string | |
| dimensionFields | 维度字段集合 | array | AccelerationFieldRequest |
| displayFields | 显示字段集合 | array | AccelerationFieldRequest |
| enabled | 是否开启此加速 | boolean | |
| errorCode | 错误码 | string | |
| errorMsg | 错误信息 | string | |
| goalStatus | 投影状态 | GoalStatusVO | GoalStatusVO |
| goalStatus.accelerateStatus | 加速状态,可用值:ANOMALOUS,AVAILABLE,DISABLE,UNAVAILABLE | string | |
| goalStatus.availableSizeBytes | 物化结果占用的可用大小 | integer(int64) | |
| goalStatus.invalidFields | 错误信息 | array | string |
| goalStatus.latestUpdateStatus | 最近更新状态,可用值:CANCEL,FAILED,PENDING,RUNNING,SUCCESS | string | |
| goalStatus.latestUpdateTime | 最近更新时间 | string(date-time) | |
| goalStatus.solutionStatus | 方案状态,枚举,可用值:DISABLE,ERROR,EXCEPTION,INITIAL,LOADING,NORMAL | string | |
| goalStatus.solutionStatusMessage | 方案状态描述 | string | |
| goalStatus.subUpdateStatusMessage | 更新状态子状态文案 | string | |
| goalStatus.totalSizeBytes | 物化结果占用的总大小 | integer(int64) | |
| goalStatus.updateStatus | 更新状态,可用值:UPDATE_COMPLETED,UPDATE_FAILED,UPDATING,WAITING_UPDATE | string | |
| id | 加速id | string | |
| isOpenStrongDependency | 是否周期强依赖 | boolean | |
| measureFields | 度量字段集合 | array | 度量字段 |
| measureFields[].name | 字段名 | string | |
| measureFields[].measureTypeList | 度量类型列表 | array | string |
| name | 加速名称 | string | |
| owner | 负责人 | SimpleUserDTO | SimpleUserDTO |
| owner.userId | 负责人用户id | string | |
| owner.username | 负责人用户名 | string | |
| parametricView | 数据集是否是参数化视图 | boolean | |
| partitionDistributionStrategy | 高级配置,CONSOLIDATED(投影加速性能优先)/STRIPED(投影生成速度优先) | string | |
| partitionFields | 分区字段集合 | array | AccelerationFieldRequest |
| scheduleConfig | 调度配置 | json | |
| scheduleConfig.cronTab | 调度配置cron表达式,描述加速任务的调度时间 | string | |
| scheduleConfig.type | 调度类型,枚举:MANUAL-人工触发,AUTO-数据集变更后自动触发,SCHEDULE-按cron调度触发 | string | |
| sortFields | 排序字段集合 | array | AccelerationFieldRequest |
| sourceType | 数据源类型 | string | |
| startupMode | 可用值:INITIAL,LATEST_OFFSET,UNRECOGNIZED | string | |
| streamed | 当前RP是否是流式RP | boolean | |
| success | 执行是否成功 | boolean | |
| tag | 加速tag | string | |
| type | 加速类型,枚举,RAW:原始加速,AGGREGATION:聚合加速 | string | |
| updatedAt | 更新时间 | integer(int64) | integer(int64) |
| version | 加速版本 | integer(int64) | integer(int64) |
响应示例:
{
"data":{
"configState": "",
"createFrom": "",
"createdAt": 0,
"dataSetGuid": "",
"datasetName": "",
"dimensionFields": [
{
"name": ""
}
],
"displayFields": [
{
"name": ""
}
],
"enabled": true,
"goalStatus": {
"accelerateStatus": "AVAILABLE/DISABLE/ANOMALOUS/UNAVAILABLE", // AVAILABLE:可用 DISABLE:停用 ANOMALOUS:异常 UNAVAILABLE:不可用
"invalidFields": [],
"latestUpdateStatus": "SUCCESS/FAILED/RUNNING/CANCEL/PENDING", // 最近更新状态 SUCCESS:成功 FAILED:失败 RUNNING:运行中 CANCEL:取消 PENDING:等待执行
"totalSizeBytes": 0, // 物化结果占用的总大小
"updateStatus": "UPDATE_FAILED/UPDATE_COMPLETED/WAITING_UPDATE/UPDATING"
},
"id": "", //投影唯一id
"isOpenStrongDependency": true,
"measureFields": [
{
"measureTypeList": ["",""], //度量类型列表
"name": ""
}
],
"name": "", //投影名称
"parametricView": true,
"partitionDistributionStrategy": "",
"partitionFields": [
{
"name": ""
}
],
"sortFields": [
{
"name": ""
}
],
"sourceType": "",
"startupMode":"", // INITIAL -> 全量数据。 LATEST_OFFSET -> 最新数据 当前RP为流式RP才返回
"streamed": true, //当前rp是否是流式rp
"success": true,
"type": "",
"updatedAt": 0,
"scheduleConfig": {
"cronTab": "",
"type": "MANUAL|AUTO|SCHEDULE"
}
},
"errorCode":"",
"errorMsg":"",
"success": true / false
}