跳转至

新增数据集

接口说明

本接口用于在指标平台中创建一个数据集。

接口 URL

POST http://{anymetrics_host:anymetrics_port}/anymetrics/api/v1/dataset/create

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

公共请求参数

参数 类型 是否必选 描述
tenant-id String 租户 ID,用于标识指标查询内容所在的租户。
auth-type String 认证方式,支持 UIDTOKENACCOUNTAPIKEY
auth-value String auth-type 对应的认证值。

公共参数获取方式

tenant-id 可在 Aloudata CAN 顶部导航栏选择指标应用,左侧菜单栏选择 API 集成,在 API 集成界面获取;auth-value 请按 auth-type 填写对应认证值。

公共参数获取方式

请求参数

请求参数总览

参数 类型 是否必选 描述 示例值
name String 数据集编码名,全局唯一,支持英文、数字、下划线。 datasetName
displayName String 数据集显示名。 dataset123
description String 数据集描述。 交易记录数据集
categoryId String 类目 ID,用于将数据集归入某个分类目录。 -
sourceInfo Object 数据源信息,指定数据集的底层数据来源。详情见 sourceInfo 参数详情 -
defColumns Array 数据集列定义。不传时系统自动从数据源拉取全部列。详情见 defColumns 参数详情 -
partitionMapping Object 分区映射配置,用于加速查询场景。 -
filterExpr String 数据集级过滤条件,expr 表达式字符串,如 [column1] > 10。创建后,该数据集的所有查询都会自动追加此过滤条件。 -

sourceInfo 参数详情

参数 类型 是否必选 描述 示例值
name String 来源数据名称,物理表名。 datet
displayName String 来源数据显示名。 dataset123
description String 来源表描述。 交易记录数据集
content String 来源数据标识。TABLE 类型传物理表 GUID(如 engine.catalog.schema.table);SQL 类型传 SQL 语句;FILE 类型传文件 ID。 starrocks.`default_catalog.jingming`.datet
type String 来源数据类型,取值为 TABLESQL TABLE
datasourceItems Array 数据源项数组,目前仅支持一个元素,需包含数据源 GUID、名称及引擎类型。 [{"id":"jmsr","name":"jmsR","queryEngineType":"STARROCKS"}]

若来源类型为 TABLEcontent 需填写物理表的 GUID;若来源类型为 SQLcontent 需填写具体 SQL 语句。

datasourceItems[] 参数详情

字段 类型 是否必选 说明
id String 数据源 ID,即数据源的 GUID。
name String 数据源名称。
queryEngineType String 查询引擎类型,枚举值包括 AIRSTARROCKSHOLOGRESDATABRICKSGAUSSADBHUAWEI_DWS 等。

defColumns 参数详情

子参数 类型 是否必选 描述
name String 字段名称,不可修改。
displayName String 字段展示名称。
description String 列描述。
type String 列类型,枚举值为 DIMENSIONMEASURE
expr String 字段公式,如 ['datet'/'date_type']
sourceColumn String 来源字段,物理表字段时必填。

expr 列类型转换函数

通过在 expr 中使用类型转换函数,可以将物理列转换为其他数据类型。使用转换函数时,originDataType 应设为转换后的目标类型。

函数名 显示名 转换后 originDataType expr 格式 说明
Text 文本 VARCHAR Text(列引用) 任意类型转文本。
Int 整数 BIGINT Int(列引用) 任意类型转整数。
Double 小数 DOUBLE Double(列引用) 任意类型转浮点小数。
Decimal 高精度小数 DECIMAL Decimal(列引用, 精度) 任意类型转精确小数,第二个参数为小数位数。
Date 日期 DATE Date(列引用)Date(列引用, "格式") 转为日期,文本列需指定格式。
DateTime 日期时间 DATETIME DateTime(列引用)DateTime(列引用, "格式") 转为日期时间,文本列需指定格式。
Bool 布尔 BOOLEAN Bool(列引用) 任意类型转布尔。
Json JSON JSON Json(列引用) 文本转 JSON。

其中,“列引用”为 ['表名'/'列名'] 格式。

示例:

{

    {
      "description": "普通物理列,无转换",
      "expr": "['my_table'/'amount']"
    },
    {
      "description": "INT 转高精度小数,保留 2 位",
      "expr": "Decimal(['my_table'/'amount'], 2)"
    },
    {
      "description": "INT 转文本",
      "expr": "Text(['my_table'/'amount'])"
    },
    {
      "description": "VARCHAR 转日期,文本列必须指定格式",
      "expr": "Date(['my_table'/'date_str'], \"yyyy-MM-dd\")"
    },
    {
      "description": "DATE 转日期时间,非文本列不需要格式参数",
      "expr": "DateTime(['my_table'/'create_date'])"
    }

}

注意事项:

  • DateDateTime 的源列是文本类型时,必须传第二个参数指定日期格式字符串,否则无法解析。
  • 可用的日期格式包括 "yyyy-MM-dd""yyyy-MM-dd HH:mm:ss" 等标准 Java 日期格式。
  • Decimal 的精度参数为整数,表示小数位数,前端默认值为 2。

响应参数

{
  "data": true,
  "success": true,
  "code": 200,
  "message": null,
  "traceId": ""
}

入参示例

数据源表创建数据集

{
  "name": "multi_test_product1",
  "displayName": "multi_test_product1",
  "description": "",
  "categoryId": "77e32b47-622d-4c5d-9d5c-45cfa7dbd0d7",
  "sourceInfo": {
    "name": "multi_test_product",
    "displayName": "multi_test_product",
    "content": "aloudata_can_datasource.`xydb.public`.multi_test_product",
    "type": "TABLE",
    "datasourceItems": [
      {
        "id": "aloudata_can_datasource",
        "name": "aloudata_can_datasource",
        "queryEngineType": "STARROCKS"
      }
    ]
  },
  "defColumns": [
    {
      "name": "id",
      "displayName": "id",
      "description": "id",
      "type": "MEASURE",
      "originDataType": "INT",
      "sourceColumn": "id",
      "expr": "['multi_test_product'/'id']"
    },
    {
      "name": "stock",
      "displayName": "stock",
      "description": "stock",
      "type": "MEASURE",
      "originDataType": "DECIMAL",
      "sourceColumn": "stock",
      "expr": "Decimal(['multi_test_product'/'stock'], 2)"
    }
  ]
}

SQL 创建数据集

{
  "description": "th_country ",
  "displayName": "th_country",
  "name": "th_country",
  "sourceInfo": {
    "content": "select * from thdb.public.th_country",
    "datasourceItems": [
      {
        "id": "fl_sr",
        "name": "fl_sr",
        "queryEngineType": "STARROCKS"
      }
    ],
    "name": "union",
    "type": "SQL"
  }
}