DataWorks OpenAPI(2024-05-18)支持多种元数据实体查询,本文提供了相关元数据实体的概念说明。
元数据实体对象
数据地图通过元数据采集器采集并纳管了不同类型和不同层级(子类型)的元数据实体对象。完整的采集器类型支持列表请参见采集器类型(CrawlerType)支持列表。
按照元数据层级结构,数据地图支持的完整元数据实体层级分为:
Catalog (数据目录)
Database(数据库)
Schema(数据库模式)
Table(数据表)
Column(字段)
其中,不同采集器类型对于实体层级的支持情况不同。
采集器类型(CrawlerType)支持列表
标识 | 展示名称 | 支持的元数据实体层级 | 备注 | ||||
Catalog | DataBase | Schema | Table | Column |
标识 | 展示名称 | 支持的元数据实体层级 | 备注 | ||||
Catalog | DataBase | Schema | Table | Column | |||
| MaxCompute | ❌ | ❌ | ✅ | ✅ | ✅ |
|
| Data Lake Formation | ✅ | ✅ | ❌ | ✅ | ✅ |
|
| HMS | ❌ | ✅ | ❌ | ✅ | ✅ |
|
| Hologres | ❌ | ✅ | ✅ | ✅ | ✅ | |
| MySQL | ❌ | ✅ | ❌ | ✅ | ✅ | |
| Oracle | ❌ | ✅ | ✅ | ✅ | ✅ | |
| PostgreSQL | ❌ | ✅ | ✅ | ✅ | ✅ | |
| SQL Server | ❌ | ✅ | ✅ | ✅ | ✅ | |
| AnalyticDB MySQL | ❌ | ✅ | ❌ | ✅ | ✅ | 对应analyticdb_for_mysql和analyticdb_for_spark两种数据源类型。 |
| AnalytidDB MySQL 2.0 | ❌ | ✅ | ❌ | ✅ | ✅ | |
| AnalyticDB PostgreSQL | ❌ | ✅ | ✅ | ✅ | ✅ | |
| OTS | ❌ | ✅ | ❌ | ✅ | ✅ | |
| ClickHouse | ❌ | ✅ | ❌ | ✅ | ✅ | |
| StarRocks | ✅ | ✅ | ❌ | ✅ | ✅ | 支持Catalog,目前仅支持查询Internal Catalog下的元数据实体。 |
实体类型(EntityType)
EntityType是元数据实体的类型标识,其格式为${CrawlerType}-${SubType}
。
CrawlerType
为采集器类型标识,如mysql
、maxcompute
、dlf
、holo
等。SubType
为元数据实体子类型的标识,如catalog
、database
、schema
、table
、column
。
以MaxCompute表为例,其EntityType为maxcompute-table
。
元数据实体ID(MetaEntityId)
元数据实体ID:具有可读性,唯一性,可扩展性的元数据实体对象标识。
支持采集器元数据实例、以及 Catalog -> Database -> Schema -> Table -> Column
实体对象。
通过:
分隔符拼接各层级的标识符(对于不支持的层级使用空字符占位),形成元数据实体ID作为实体唯一标识。
采集器元数据实例
采集器元数据实体ID:元数据采集来源的唯一标识。
对于
MaxCompute
和DLF
类型,提供默认采集器,对应租户/主账号下所有元数据实体,其采集器元数据实体ID格式省略为${CrawlerType}
。对于其他需要手动创建采集器的类型,其采集器元数据实体ID格式为
${CrawlerType}:${MetaSourceId}
。CrawlerType
: 采集器类型标识,如holo
、mysql
等。MetaSourceId
:元数据来源标识。实例模式:对应实例ID/集群ID。
URL模式:对应转义后的URL(Jdbc Url 或 Endpoint)。
示例:
对于
MaxCompute
类型,采集器元数据实体ID为maxcompute
。对于
Hologres
类型,实例模式下,假设实例ID为i-z6j3kxxx7
,采集器元数据实体ID为holo:i-z6j3kxxx7
。对于
MySQL
类型,URL模式下,假设URL为jdbc:mysql://47.0.X.X:3306/test_db
,采集器元数据实体ID为mysql:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db
。
数据表相关元数据实体
元数据实体ID格式为${EntityType}:${MetaSourceId}:${Catalog}:${Database}:${Schema}:${Table}:${Column}
包含以下元素:
层级 | 属性 | 说明 |
层级 | 属性 | 说明 |
- |
| 实体类型标识。 |
- |
|
对于 |
Catalog |
| 数据目录名称。 |
Database |
| 数据库名称。 |
Schema |
| 数据库模式名称。 |
Table |
| 数据表名称。 |
Column |
| 字段名称。 |
元数据实体示例
以下为MaxCompute
、DLF
、HMS
、Hologres
四种常用类型的各层级元数据实体ID示例。
在如下ID示例中,通过:
分隔符拼接各层级的标识符,对于不支持的层级使用空字符占位。
MaxCompute
以用户主账号123456XXX
为例,对于test_project
项目,默认scheme default
,数据表test_tbl
,字段test_col
各层级的实体ID如下:
层级 | ID |
层级 | ID |
采集器元数据实例 |
|
项目 |
|
模式 |
|
数据表 |
|
字段 |
|
DLF
以用户主账号123456XXX
为例,对于test_catalog
数据目录,数据库test_db
,数据表test_tbl
,字段test_col
各层级的实体ID如下:
层级 | ID |
层级 | ID |
采集器元数据实例 |
|
数据目录 |
|
数据库 |
|
数据表 |
|
字段 |
|
HMS
以EMR集群实例c-a1b2c3xxx
为例,对于数据库test_db
,数据表test_tbl
,字段test_col
,各层级的实体ID如下:
层级 | ID |
层级 | ID |
采集器元数据实例 |
|
数据库 |
|
数据表 |
|
字段 |
|
Hologres
以Hologres实例hgpostcn-cn-a1b2c3xxx
为例,对于数据库test_db
,模式test_schema
,数据表test_tbl
,字段test_col
,各层级的实体ID如下:
层级 | ID |
层级 | ID |
采集器元数据实例 |
|
数据库 |
|
模式 |
|
数据表 |
|
字段 |
|
- 本页导读 (1)
- 元数据实体对象
- 采集器类型(CrawlerType)支持列表
- 实体类型(EntityType)
- 元数据实体ID(MetaEntityId)
- 采集器元数据实例
- 数据表相关元数据实体
- 元数据实体示例