You need to enable JavaScript to run this app.
导航
数据集维度指标与血缘关系 API
最近更新时间:2024.11.20 19:11:31首次发布时间:2024.03.15 14:51:07

1. 概述

数据集 Open API 包含了:数据集操作 API、数据集信息 API、数据集维度指标与血缘关系 API、数据集同步任务 API、数据集可视化查询参数与开放查询 API、数据集模型画布与运维类工具 API、项目内数据集 API。
本文为您介绍的是“数据集维度指标类与数据集血缘关系类的 Open API”,您将了解到用户可以通过 API 进行查看、更新数据集维度指标分类信息以及查看数据集血缘统计信息、完整信息、上游数据源信息等操作。
注意:

  • 在您使用本文所述的 API 前,还需完成接入 JWT-Token 和申请 Token 的前置操作,详情可阅读数据集 Open API 概述
  • 在您使用本文所述的接口前,请先了解调用方式,详情可阅读调用方式

2. 接口说明
  • 新接口 V4 版本采用标准的 restful 接口命名方式,即资源+行为的命名方式。
  • 针对每个接口提供直接可以导入 postMan 的 请求示例,方便客户体验,由于各环境 DataWind 域名和各个请求中都含有通用含义的变量,因此各接口的 cURL 实例中均采用{{}}包裹变量,{{变量}}格式可直接被 postMan 识别。
  • 变量对照含义表:

jwtToken -> {{jwtToken}}
aeolus 域名 -> {{domain}}
项目 ID -> {{appId}}
数据集 ID -> {{dataSetId}}
数据集标签 Id {{tagId}}
数据集文件夹 Id {{dataSetFolderId}}

> * 本功能适用的版本: 2.48.0及以上

<span id="_3-数据集维度指标"></span>
# 3. 数据集维度指标
<span id="_3-1-查看数据集维度指标信息"></span>
## 3.1 查看数据集维度指标信息

* 权限需求
   
   | | | \
   |资源 |权限 |
   |---|---|
   | | | \
   |数据集 |read |

* 接口描述与说明查看数据集维度指标信息。
   ![Image](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_0d4840daae356f88e98955a950dcf1c3.png =1326x)

<span id="d3b740fa"></span>
#### 请求说明

* 请求地址:`{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet`

<span id="33ca20e1"></span>
#### 请求示例

   ```bash
   curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet' \
   --header 'Content-Type: application/json' \
   --header 'Authorization: Bearer {{jwtToken}}'

请求参数

参数

类型

必选

枚举值

描述

dataSetId

integer

数据集ID

返回参数

参数

类型

描述

$.dimMetList

object

数据集维度指标属性

$.dimMetList[i].groupType

integer

维度指标组字段类型

$.dimMetList[i].calcType

string

表计算字段类型

$.dimMetList[i].dimMetOrder

integer

数据集维度指标序号
Image

$.dimMetList[i].expr

string

数据集维度指标表达式

$.dimMetList[i].fullExpr

string

数据集维度指标完整表达式(解析出所有字段引用)

$.dimMetList[i].fieldList

string

数据集维度指标使用到的数据源字段列表

$.dimMetList[i].descr

string

数据集维度指标描述

$.dimMetList[i].id

integer

数据集维度指标ID

$.dimMetList[i].mapType

integer

字段类型[0为维度;1为指标]

$.dimMetList[i].name

string

数据集维度指标名称

$.dimMetList[i].ownerEmailPrefix

string

数据集维度指标创建人

$.schema

list

数据集对应底表的字段内容

$.schema[i].dataSourceType

string

底表字段存储引擎类型

$.schema[i].status

integer

底表字段状态

$.schema[i].name

string

底表字段名称

$.schema[i].type

string

底表字段类型

返回示例

{
    "code": "aeolus/ok",
    "data": {
        "dataSetName": "测试open-api专用数据集1",
        "dataSetType": 22,
        "dimMetList": [
        ...........
            {
                "calcType": null,
                "dataFormat": null,
                "dataTypeName": "string",
                "defaultDataTypeName": "string",
                "descr": null,
                "dimMetCategoryId": null,
                "dimMetCategoryType": null,
                "dimMetMixOrder": 4,
                "dimMetOrder": 4,
                "dimMetThirdPartyConf": null,
                "dimMetVariety": 2,
                "editable": 1,
                "errCode": "ok",
                "expr": "`字段二`",
                "exprAsDim": null,
                "fieldList": "[\"字段二\"]",
                "fullExpr": "`字段二`",
                "groupType": 0,
                "hitFilterRuleList": [],
                "id": 158***********,
                "isDeletedField": 0,
                "isPartitionField": 0,
                "lodType": null,
                "mapType": 0,
                "name": "字段二",
                "operationCode": 0,
                "ownerEmailPrefix": "userEmailPrefix",
                "paramIdList": [],
                "showExpr": 1,
                "visible": 1
            }
        ],
        "ownerEmailPrefix": "userEmailPrefix",
        "schema": [
            {
                "dataSourceType": "click_house",
                "name": "p_date",
                "status": 0,
                "type": "Date"
            },
            {
                "dataSourceType": "click_house",
                "name": "`字段四`",
                "status": 0,
                "type": "Nullable(String)"
            },
            {
                "dataSourceType": "click_house",
                "name": "`字段一`",
                "status": 0,
                "type": "Nullable(String)"
            },
            {
                "dataSourceType": "click_house",
                "name": "`字段三`",
                "status": 0,
                "type": "Nullable(String)"
            },
            {
                "dataSourceType": "click_house",
                "name": "`字段二`",
                "status": 0,
                "type": "Nullable(String)"
            }
        ]
    },
    "msg": "成功"
}
  • 备注

3.2 更新数据集维度指标信息

  • 权限需求

    资源

    权限

    数据集

    write

  • 接口描述与说明更新维度指标信息,注意此接口的更新为全量更新,不支持单字段的覆盖修改。

请求说明

  • 请求地址:{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet

请求示例

curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMet' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoib3BlbmFwaSIsInVzZXJuYW1lIjoiaHVzaW1pbi54Y2wiLCJ1c2VyX3BheWxvYWQiOnt9LCJleHAiOjE2NzExMTk2NDUsImNsaWVudF9pZCI6ImQ5MGRhNTUxMDViZDRmODY3MGE1MWI2MzNlYmZlODU0In0.obtS6Hfpadpg2PGZCi_pgDui54IL14XEcP0rnPiXVJm2lQEyvi6morYeLrGEQMokf3LnBzH46D_ME90NqT7gtzaVmkfp-W4N8aGKRmv4HFImOfysOjsa-7NRHYrNqcoyPxd1-LpB711d_EtWAvaOVK6ZeD58KtidXqd1vHPK2iFDg_ngV0hkfLZeMY0XkvPVKoejBqA3BkDh2Jpp5FH60r9lwqCL4ngN4mo1bZb2SPnXtKndXlVn7d6ZTDhWdCGJ0Y5LZ45lvwE7Y_IaDdN1odcpRsLPAZMhbNcU9uFIFVicQpNBaYMsqf0LAgV6zf2QNdPi6cyxI_BYYkZWXyJTTE9EpBY1gy8_Uj2JPr96I-XNdrkDDucoRbERXBX_wpjzbJNe_rRBm7WME-u4DOI4pel41VaCUzSGz4rJG-4IOemgUvoPjewnx6bPXt_k0uoVN-ZcIr_Mco5lj7sNAcFLx-uJowdiVGQjxsc6-UGwQWjcsCIARCsitGD2OUMriSLey6JU7CQFLyeJ51YXUkB0hYBdgvWGfWl3QXevp9G7de_2QeCSyMffcK_k24aE1eDlkmI4xjDR60rGnZIMiT93LnIsE5GnjxMp36S3uFXHYvI35t92AmKT04lKGEK2OabIGfWPRJVD53YttlRJVf_RCA9CqoZoZQl-lBTGJDSvsVE' \
--data-raw '{
    "dimMetList": [
        {
            "calcType": null,
            "dataFormat": null,
            "dataTypeName": "date",
            "defaultDataTypeName": "date",
            "descr": "p_date",
            "dimMetCategoryId": null,
            "dimMetCategoryType": null,
            "dimMetMixOrder": 0,
            "dimMetOrder": 0,
            "dimMetThirdPartyConf": null,
            "dimMetVariety": 1,
            "editable": false,
            "errCode": "ok",
            "expr": "p_date",
            "exprAsDim": null,
            "fieldList": "[\"p_date\"]",
            "fullExpr": "p_date",
            "groupType": 0,
            "hitFilterRuleList": [],
            "id": 158**********,
            "isDeletedField": 0,
            "isPartitionField": 1,
            "lodType": null,
            "mapType": 0,
            "name": "p_date",
            "operationCode": 0,
            "ownerEmailPrefix": "userEmailPrefix",
            "paramIdList": [],
            "showExpr": 1,
            "visible": 1,
            "defaultType": "date",
            "type": "date",
            "castDataTypeName": null,
            "isGroupField": false,
            "nameErrMsg": ""
        },

        {
            "calcType": null,
            "dataFormat": null,
            "dataTypeName": "string",
            "defaultDataTypeName": "string",
            "descr": null,
            "dimMetCategoryId": null,
            "dimMetCategoryType": null,
            "dimMetMixOrder": 2,
            "dimMetOrder": 2,
            "dimMetThirdPartyConf": null,
            "dimMetVariety": 2,
            "editable": true,
            "errCode": "ok",
            "expr": "`字段一`",
            "exprAsDim": null,
            "fieldList": "[\"字段一\"]",
            "fullExpr": "`字段一`",
            "groupType": 0,
            "hitFilterRuleList": [],
            "id": 15***********,
            "isDeletedField": 0,
            "isPartitionField": 0,
            "lodType": null,
            "mapType": 0,
            "name": "字段一",
            "operationCode": 0,
            "ownerEmailPrefix": "userEmailPrefix",
            "paramIdList": [],
            "showExpr": 1,
            "visible": 1,
            "defaultType": "string",
            "type": "string",
            "castDataTypeName": null,
            "isGroupField": false,
            "nameErrMsg": ""
        }
    ]
}'

请求参数

参数

类型

描述

$.dimMetList

object

数据集维度指标属性

$.dimMetList[i].groupType

integer

维度指标组字段类型

$.dimMetList[i].calcType

string

表计算字段类型

$.dimMetList[i].dimMetOrder

integer

数据集维度指标序号
Image

$.dimMetList[i].expr

string

数据集维度指标表达式

$.dimMetList[i].fullExpr

string

数据集维度指标完整表达式(解析出所有字段引用)

$.dimMetList[i].fieldList

string

数据集维度指标使用到的数据源字段列表

$.dimMetList[i].descr

string

数据集维度指标描述

$.dimMetList[i].id

integer

数据集维度指标ID

$.dimMetList[i].mapType

integer

字段类型[0为维度;1为指标]

$.dimMetList[i].name

string

数据集维度指标名称

$.dimMetList[i].ownerEmailPrefix

string

数据集维度指标创建人

返回参数

{
    "code": "aeolus/ok",
    "data": {
        "deleteAffectedRows": 0,
        "upsertAffectedRows": 5
    },
    "msg": "成功"
}
  • 备注

3.3 查看数据集维度指标分类信息

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明查看数据集级别的维度指标分类。

    Image

Image

请求说明

  • 请求地址:{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory

请求示例

curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}'

请求参数

参数

类型

必选

枚举值

描述

dataSetId

integer

数据集ID

返回参数

参数

类型

描述

categoryOrder

integer

维度指标分类order排序
Image

categoryType

integer

维度指标分类级别 [0为数据集级别, 1为项目级别]

id

integer

维度指标分类ID

name

string

维度指标分类名称

返回示例

{
  "code": "aeolus/ok",
  "data": {
    "categorySwitch": 0,
    "dimMetCategoryList": [
      {
        "categoryOrder": 0,
        "categoryType": 0,
        "dataSetId": {{dataSetId}},
        "id": 10000169,
        "name": "维度指标分类2"
      },
      {
        "categoryOrder": 1,
        "categoryType": 0,
        "dataSetId": {{dataSetId}},
        "id": 100*****,
        "name": "维度指标分类1"
      }
    ]
  },
  "msg": "成功"
}
  • 备注

3.4 更新数据集维度指标分类信息

  • 权限需求

    资源

    权限

    数据集

    write

  • 接口描述与说明更新数据集中维度指标分类;注意此处为全量更新覆盖更新,不支持单个更新。

请求说明

  • 请求地址:{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory

请求示例

curl --location --request PUT '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/dimMetCategory' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoib3BlbmFwaSIsInVzZXJuYW1lIjoiaHVzaW1pbi54Y2wiLCJ1c2VyX3BheWxvYWQiOnt9LCJleHAiOjE2NzExMTk2NDUsImNsaWVudF9pZCI6ImQ5MGRhNTUxMDViZDRmODY3MGE1MWI2MzNlYmZlODU0In0.obtS6Hfpadpg2PGZCi_pgDui54IL14XEcP0rnPiXVJm2lQEyvi6morYeLrGEQMokf3LnBzH46D_ME90NqT7gtzaVmkfp-W4N8aGKRmv4HFImOfysOjsa-7NRHYrNqcoyPxd1-LpB711d_EtWAvaOVK6ZeD58KtidXqd1vHPK2iFDg_ngV0hkfLZeMY0XkvPVKoejBqA3BkDh2Jpp5FH60r9lwqCL4ngN4mo1bZb2SPnXtKndXlVn7d6ZTDhWdCGJ0Y5LZ45lvwE7Y_IaDdN1odcpRsLPAZMhbNcU9uFIFVicQpNBaYMsqf0LAgV6zf2QNdPi6cyxI_BYYkZWXyJTTE9EpBY1gy8_Uj2JPr96I-XNdrkDDucoRbERXBX_wpjzbJNe_rRBm7WME-u4DOI4pel41VaCUzSGz4rJG-4IOemgUvoPjewnx6bPXt_k0uoVN-ZcIr_Mco5lj7sNAcFLx-uJowdiVGQjxsc6-UGwQWjcsCIARCsitGD2OUMriSLey6JU7CQFLyeJ51YXUkB0hYBdgvWGfWl3QXevp9G7de_2QeCSyMffcK_k24aE1eDlkmI4xjDR60rGnZIMiT93LnIsE5GnjxMp36S3uFXHYvI35t92AmKT04lKGEK2OabIGfWPRJVD53YttlRJVf_RCA9CqoZoZQl-lBTGJDSvsVE' \
--data-raw '{
    "dimMetCategoryList": [
        {
            "categoryOrder": 0,
            "categoryType": 0,
            "id": 10******,
            "name": "维度指标分类2-修改"
        },
        {
            "categoryOrder": 1,
            "categoryType": 0,
            "id": 10******,
            "name": "维度指标分类1"
        }
    ]
}'
  • 请求参数

    参数

    类型

    必选

    枚举值

    描述

    dataSetId

    integer

    数据集ID

    categoryOrder

    integer

    range(0,n)

    维度指标分类序号

    categoryType

    integer

    0,1

    默认均传0

    id

    integer

    维度指标分类ID

    name

    string

    维度指标分类名称

返回示例

{
    "code": "aeolus/ok",
    "data": {
        "dimMetCategoryList": [
            {
                "categoryOrder": 0,
                "categoryType": 0,
                "dataSetId": {{dataSetId}},
                "id": 100******,
                "name": "维度指标分类2-修改"
            },
            {
                "categoryOrder": 1,
                "categoryType": 0,
                "dataSetId": {{dataSetId}},
                "id": 100******,
                "name": "维度指标分类1"
            }
        ]
    },
    "msg": "成功"
}
  • 备注

4. 数据集血缘关系

4.1 查看数据集血缘统计信息

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明查看数据集的血缘统计,包含上下游的使用统计情况。

请求说明

  • 请求地址:{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineageStatistics

请求示例

curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineageStatistics' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}'

请求参数

参数

类型

必选

枚举值

描述

dataSetId

integer

数据集ID

<span id="fc2ec297"></span>

返回参数

参数

类型

描述

down

object

数据集血缘下游

up

object

数据集血缘上游

dashboard

integer

仪表盘

report

integer

图标

data_set

integer

数据集

返回示例

{
    "code": "aeolus/ok",
    "data": {
        "down": {
            "dashboard": 1,
            "data_set": 0,
            "report": 2
        },
        "total": 3,
        "up": {
            "data_set": 0
        }
    },
    "msg": "成功"
}
  • 备注

4.2 查看数据集血缘完整信息

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明查看数据上下游血缘的具体资源信息,对应产品前端的血缘视图.
    Image

请求说明

  • 请求地址:{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/upstreamLineage

请求示例

curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineage' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}'

请求参数

参数

类型

必选

枚举值

描述

dataSetId

integer

数据集ID

返回参数

参数

类型

描述

resourceAppId

integer

资源所在项目ID

resourceAppName

string

资源所在项目名称

resourceFolder

string

资源所在文件夹路径

resourceId

integer

资源ID

resourceName

string

资源名称

resourceOwner

string

资源拥有者

resourceType

string

资源类型

resourceTypeName

string

资源类型名称

resourceUpDownstream

string

资源为当前数据集的上/下游

resourceUrl

string

资源URL

返回示例

{
    "code": "aeolus/ok",
    "data": {
        "resourceList": [
            {
                "resourceAppId": 7777947,
                "resourceAppName": "测试项目-名称",
                "resourceFolder": "公共仪表盘",
                "resourceId": 155459,
                "resourceName": "测试",
                "resourceOwner": "userEmailPrefix_1",
                "resourceType": "dashboard",
                "resourceTypeName": "仪表盘",
                "resourceUpDownstream": "down",
                "resourceUrl": "#/dashboard/155***?appId=7******",
                "role": []
            },
            {
                "resourceAppId": 7******,
                "resourceAppName": "测试项目-名称",
                "resourceFolder": "/",
                "resourceId": 6****,
                "resourceName": "test",
                "resourceOwner": "userEmailPrefix_2",
                "resourceType": "report",
                "resourceTypeName": "图表",
                "resourceUpDownstream": "down",
                "resourceUrl": "#/dataQuery?rid=63939&appId=7******"
            },
            {
                "resourceAppId": 7******,
                "resourceAppName": "测试项目-参数",
                "resourceFolder": "/",
                "resourceId": 6****,
                "resourceName": "血缘关联可视化查询",
                "resourceOwner": "userEmailPrefix",
                "resourceType": "report",
                "resourceTypeName": "图表",
                "resourceUpDownstream": "down",
                "resourceUrl": "#/dataQuery?rid=63987&appId=77*****"
            }
        ],
        "total": 3
    },
    "msg": "成功"
}
  • 备注

4.3 查看数据集上游数据源信息

  • 支持版本56.1版本及以上

  • 权限需求

    资源

    权限

    数据集

    read

  • 接口描述与说明该接口可以返回数据集模型配置中使用到的上游信息。

    Image

请求说明

  • 请求地址:{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/lineage

请求示例

curl --location --request GET 'curl --location --request GET '{{domain}}/aeolus/api/v4/open/dataset/{{dataSetId}}/upstreamLineage' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{jwtToken}}'

请求参数

参数

类型

必选

枚举值

描述

dataSetId

integer

数据集ID

返回参数

  • 关联数据集-xx
    出参字段描述中包含该前缀的,则代表当用户查询的数据集为关联数据集时,返回的内容才包含该字段,关联数据集当前只允许在模型中使用数据集join数据集。
  • 普通数据集-xx
    出参字段描述中包含该前缀的,则代表当用户查询的数据集为普通数据集时,返回的内容才包含该字段,普通数据集的模型配置中,不会存在数据集数据源和自定义sql节点。
  • 自定义sql数据集-xx
    出参字段描述中包含该前缀的,则代表当用户查询的数据集为自定义sql数据集时,返回的内容才包含该字段,自定义sql数据集的模型配置中,只会存在一个自定义sql节点。

参数

类型

描述

dataSourceId

string

上游数据源ID -> 该信息比较底层,如不需要可忽略

dataSourceType

string

上游数据源的类型 常见枚举值👇🏻

  • hive
  • data_set
  • click_house
  • ch_excel(excel文件)
  • ch_csv(csv文件)

dataSetName

string

资源所在文件夹路径

latestDataSetName

string

资源ID

dataSetId

integer

资源名称

appId

integer

资源拥有者

clusterName

string

资源类型

dbName

string

资源类型名称

tableName

string

资源为当前数据集的上/下游

sql

string

资源URL

{
    功"
}
  • 备注