跳转至

拆分物化方案指标

接口描述

本接口用于对用户选择的原始指标进行解析与拆分,支持对平均类指标进行自动拆解(如 avg 生成 sum 与 count)。拆分后的指标将在后续保存物化方案时用于生成完整的物化字段结构。

在外挂物化方案中,该接口为 必须首先调用 的接口,用于生成完整指标树结构与可聚合维度信息。

接口 URL

POST  /anymetrics/api/v1/accelerate/plan/splitMetric

anymetrics_host:anymetrics_port 获取方式请参考:调用方式

请求参数

公共请求参数(HEADERS)

参数 类型 是否必选 最大长度 描述
tenant-id String 32 租户 ID,用于指定查询所属的业务空间
auth-type String 32 认证方式:UID / TOKEN
auth-value String 32 对应 auth-type 的认证值

公共参数获取方式

tenant-id 与 auth-value 可在 Aloudata CAN 左侧菜单 API 集成 中查看。

image.png

请求体参数

字段 类型 是否必选 描述
type String 必须为 "EXTERNAL"
metrics List 用户选择的原始指标列表
dimensions List 用户选择的维度列表
metricDefinitions Map 快速衍生配置(仅对原始指标有效)

请求示例

{
  "metrics": [
    { "name": "avg_order_amount" },
    { "name": "sum_order_amount" }
  ],
  "dimensions": [
    { "name": "metric_time__DAY" },
    { "name": "username" }
  ],
  "type": "EXTERNAL"
}

响应参数

字段 类型 描述
success Boolean 是否成功
code String 响应码
errorMsg String 错误信息
detailErrorMsg String 错误详情
traceId String Trace ID
data Object 拆分后的指标、维度结构

data 字段结构

字段 类型 描述
splitMetric List 拆分后的指标树结构(包含原始指标与拆分指标)
dimensions List 维度列表(含粒度信息)

响应示例

{
  "data": {
    "splitMetric": [
      {
        "id": "mce5493438bb57b4e71b087aead42a03",
        "name": "avg_order_amount",
        "code": "mce5493438bb57b4e71b087aead42a03",
        "forceRollupDimensionList": [],
        "notRollupDimensionList": [],
        "desc": "order_amount平均值",
        "children": [
          {
            "id": "fe8c75ce30ff36b9ae92aa35f5fcce85",
            "name": "avg_order_amount_sum",
            "code": null,
            "forceRollupDimensionList": [
              "dmb9b604484bd9f5dd9bb8f1a2f22cb7",
              "metric_time__DAY"
            ],
            "notRollupDimensionList": [],
            "desc": "order_amount平均值_求和",
            "children": null
          },
          {
            "id": "6e1b93fb4b5d6299cce9471f2abd6604",
            "name": "avg_order_amount_count",
            "code": null,
            "forceRollupDimensionList": [
              "dmb9b604484bd9f5dd9bb8f1a2f22cb7",
              "metric_time__DAY"
            ],
            "notRollupDimensionList": [],
            "desc": "order_amount平均值_计数",
            "children": null
          }
        ]
      }
    ],
    "dimensions": [
      {
        "id": "metric_time__DAY",
        "name": null,
        "code": "metric_time",
        "granularity": "DAY"
      },
      {
        "id": "dmb9b604484bd9f5dd9bb8f1a2f22cb7",
        "name": "username",
        "code": "dmb9b604484bd9f5dd9bb8f1a2f22cb7",
        "granularity": null
      }
    ]
  },
  "success": true,
  "code": "200",
  "errorMsg": null,
  "detailErrorMsg": null,
  "traceId": "d0a72329966f49c9bc12734d7a9ab077.527.17628509311680003"
}

使用说明

  • 本接口用于生成完整的指标拆分结构,后续必须将拆分结果用于 createAccelerateResultPlan

  • metrics 中仅包含原始指标,拆分指标不会自动加入。

  • 每个拆分指标都需要在保存方案时指定物化列名(通过 mtConfig.columnConfigs)。