Todos os produtos
Search
Central de documentação

DataWorks:Conceitos de entidade de metadados

Última atualização: Jun 27, 2026

A API do DataWorks (2024-05-18) identifica cada entidade de metadados — banco de dados, tabela ou coluna — com um ID exclusivo derivado de sua posição na hierarquia.

Hierarquia de entidades

O Data Map utiliza crawlers para descobrir e organizar metadados em até cinco níveis hierárquicos:

Catalog > Database > Schema > Table > Column

Nem todos os tipos de crawler suportam todos os níveis. O MaxCompute utiliza Schema, Table e Column, enquanto o MySQL usa Database, Table e Column. Os níveis suportados determinam como você constrói os IDs das entidades.

Tipos de crawler suportados

Identificador

Nome de exibição

Catalog

Database

Schema

Table

Column

Observações

maxcompute

MaxCompute

--

--

Sim

Sim

Sim

Um crawler padrão identifica todas as entidades de metadados na sua conta. No MaxCompute, os projetos correspondem ao nível de banco de dados, mas não podem ser consultados por meio de operações de API. O suporte a Schema depende da ativação do modelo de três camadas.

dlf

Data Lake Formation

Sim

Sim

--

Sim

Sim

Um crawler padrão identifica todas as entidades de metadados na sua conta.

hms

HMS

--

Sim

--

Sim

Sim

Utiliza o Hive Metastore Service (HMS). Coleta metadados de clusters E-MapReduce (EMR) e CDH_HIVE.

holo

Hologres

--

Sim

Sim

Sim

Sim

-

mysql

MySQL

--

Sim

--

Sim

Sim

-

oracle

Oracle

--

Sim

Sim

Sim

Sim

-

postgresql

PostgreSQL

--

Sim

Sim

Sim

Sim

-

sqlserver

SQL Server

--

Sim

Sim

Sim

Sim

-

analyticdb_for_mysql

AnalyticDB MySQL

--

Sim

--

Sim

Sim

Também coleta metadados de fontes de dados analyticdb_for_spark.

ads

AnalyticDB MySQL 2.0

--

Sim

--

Sim

Sim

-

hybriddb_for_postgresql

AnalyticDB PostgreSQL

--

Sim

Sim

Sim

Sim

-

ots

OTS

--

Sim

--

Sim

Sim

-

clickhouse

ClickHouse

--

Sim

--

Sim

Sim

-

starrocks

StarRocks

Sim

Sim

--

Sim

Sim

Suporta catalogs. Consulta entidades de metadados apenas em catalogs internos.

lindorm_for_engine

Lindorm

--

Sim

--

Sim

Sim

-

Tipo de entidade

O parâmetro EntityType identifica o tipo e o nível de uma entidade de metadados. Formato:

${CrawlerType}-${SubType}
  • CrawlerType: O identificador do crawler, como mysql, maxcompute, dlf ou holo.

  • SubType: O nível da entidade, como catalog, database, schema, table ou column.

Por exemplo, uma tabela do MaxCompute possui o tipo de entidade maxcompute-table.

ID da entidade de metadados

O parâmetro MetaEntityId identifica exclusivamente uma entidade de metadados.

Os níveis são separados por dois pontos (:). Níveis não suportados utilizam uma string vazia como espaço reservado, mantendo a contagem de segmentos consistente entre os tipos de entidade.

ID da instância de metadados do crawler

A instância de metadados do crawler é a raiz da hierarquia. Seu formato de ID depende se o crawler é padrão ou criado manualmente.

Crawlers padrão (MaxCompute e DLF): O ID é apenas o tipo do crawler.

${CrawlerType}

Crawlers criados manualmente: O ID inclui o identificador da fonte de metadados.

${CrawlerType}:${MetaSourceId}

O valor de MetaSourceId varia conforme o modo de conexão:

Modo

Valor de MetaSourceId

Exemplo

Modo de instância

Um ID de instância ou ID de cluster

i-z6j3kxxx7

Modo de URL

A URL JDBC codificada por URL ou endpoint

jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db

Exemplos:

Tipo de crawler

Cenário

ID da instância de metadados do crawler

MaxCompute

Crawler padrão

maxcompute

Hologres

Modo de instância, ID da instância i-z6j3kxxx7

holo:i-z6j3kxxx7

MySQL

Modo de URL, URL JDBC jdbc:mysql://47.0.X.X:3306/test_db

mysql:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db

Formato do ID da entidade de tabela de dados

Para entidades de catalog, banco de dados, schema, tabela e coluna, o ID segue este formato:

${EntityType}:${MetaSourceId}:${Catalog}:${Database}:${Schema}:${Table}:${Column}

Cada segmento corresponde a um nível específico:

Nível

Segmento

Descrição

-

EntityType

O identificador do tipo de entidade (por exemplo, maxcompute-table).

-

MetaSourceId

O ID da instância, ID do cluster ou URL JDBC codificada por URL. Para MaxCompute e DLF, utilize uma string vazia.

Catalog

Catalog

O identificador do catalog. Para StarRocks, trata-se do nome do catalog. Para DLF, é o ID do catalog. Para outros tipos, use uma string vazia.

Banco de dados

Database

O nome do banco de dados.

Schema

Schema

O nome do schema. Para tipos que não suportam schema, utilize uma string vazia. No MaxCompute, forneça o nome do schema quando o modelo de schema estiver ativado; caso contrário, use uma string vazia.

Tabela

Table

O nome da tabela.

Coluna

Column

O nome da coluna.

Omita os segmentos finais para entidades de nível superior. Por exemplo, um ID de nível de tabela não inclui o segmento Column.

Exemplos de ID de entidade

Os exemplos a seguir demonstram a construção de IDs de entidade para diferentes tipos de crawler.

Nota

Dois pontos (:) separam cada nível. Strings vazias entre dois pontos consecutivos (por exemplo, ::) representam níveis não suportados.

MaxCompute

O MaxCompute suporta dois modos, dependendo da ativação do modelo de três camadas (modelo de schema).

Modelo de schema ativado

Para um projeto project_name, schema schema_name, tabela table_name e coluna column_name:

Nível

ID da entidade

Instância de metadados do crawler

maxcompute

Projeto

maxcompute-project:::project_name

Schema

maxcompute-schema:::project_name:schema_name

Tabela

maxcompute-table:::project_name:schema_name:table_name

Coluna

maxcompute-column:::project_name:schema_name:table_name:column_name

Os três dois pontos iniciais (:::) antes de project_name representam espaços reservados vazios para MetaSourceId (o MaxCompute usa um crawler padrão) e Catalog (não suportado).

Modelo de schema desativado

Para um projeto project_name, tabela table_name e coluna column_name:

Nível

ID da entidade

Instância de metadados do crawler

maxcompute

Projeto

maxcompute-project:::project_name

Tabela

maxcompute-table:::project_name::table_name

Coluna

maxcompute-column:::project_name::table_name:column_name

Quando o modelo de schema está desativado, a posição do schema é um espaço reservado vazio (:: entre project_name e table_name).

DLF

Para um catalog catalog_id, banco de dados database_name, tabela table_name e coluna column_name:

Nível

ID da entidade

Instância de metadados do crawler

dlf

Catalog

dlf-catalog::catalog_id

Banco de dados

dlf-database::catalog_id:database_name

Tabela

dlf-table::catalog_id:database_name::table_name

Coluna

dlf-column::catalog_id:database_name::table_name:column_name

O DLF utiliza um crawler padrão, portanto MetaSourceId é vazio (:: antes de catalog_id). Como o DLF não suporta schema, um espaço reservado vazio aparece entre database_name e table_name.

HMS

Para um cluster EMR c-a1b2c3xxx, banco de dados test_db, tabela test_tbl e coluna test_col:

Nível

ID da entidade

Instância de metadados do crawler

hms:c-a1b2c3xxx

Banco de dados

hms-database:c-a1b2c3xxx::test_db

Tabela

hms-table:c-a1b2c3xxx::test_db::test_tbl

Coluna

hms-column:c-a1b2c3xxx::test_db::test_tbl:test_col

O HMS não suporta catalog ou schema, então espaços reservados vazios aparecem nessas posições.

Hologres

Para uma instância Hologres hgpostcn-cn-a1b2c3xxx, banco de dados test_db, schema test_schema, tabela test_tbl e coluna test_col:

Nível

ID da entidade

Instância de metadados do crawler

holo:hgpostcn-cn-a1b2c3xxx

Banco de dados

holo-database:hgpostcn-cn-a1b2c3xxx::test_db

Schema

holo-schema:hgpostcn-cn-a1b2c3xxx::test_db:test_schema

Tabela

holo-table:hgpostcn-cn-a1b2c3xxx::test_db:test_schema:test_tbl

Coluna

holo-column:hgpostcn-cn-a1b2c3xxx::test_db:test_schema:test_tbl:test_col

O Hologres utiliza o modo de instância, logo MetaSourceId é o ID da instância. Catalogs não são suportados, portanto um espaço reservado vazio aparece entre MetaSourceId e Database.

MySQL

Para uma fonte de dados MySQL com a URL JDBC jdbc:mysql://47.0.X.X:3306/test_db, banco de dados test_db, tabela test_tbl e coluna test_col:

Nível

ID da entidade

Instância de metadados do crawler

mysql:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db

Banco de dados

mysql-database:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db::test_db

Tabela

mysql-table:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db::test_db::test_tbl

Coluna

mysql-column:jdbc%3Amysql%3A%2F%2F47.0.X.X%3A3306%2Ftest_db::test_db::test_tbl:test_col

MetaSourceId é a URL JDBC codificada por URL. O MySQL não suporta catalog ou schema, então espaços reservados vazios aparecem nessas posições.

Referência rápida

Esta tabela resume os padrões de ID de entidade para cada tipo de crawler. Segmentos vazios são mostrados como (empty). O formato de MetaSourceId depende do modo de registro (instância ou URL).

Tipo de crawler

MetaSourceId

Catalog

Schema

Exemplo de ID de tabela

maxcompute

(empty)

(empty)

schema_name ou (empty)

maxcompute-table:::project::table

dlf

(empty)

catalog_id

(empty)

dlf-table::catalog_id:db::table

hms

cluster_id

(empty)

(empty)

hms-table:cluster_id::db::table

holo

instance_id

(empty)

schema_name

holo-table:instance_id::db:schema:table

mysql

URL JDBC codificada por URL

(empty)

(empty)

mysql-table:encoded_url::db::table

oracle

instance_id ou URL

(empty)

schema_name

oracle-table:source_id::db:schema:table

postgresql

instance_id ou URL

(empty)

schema_name

postgresql-table:source_id::db:schema:table

sqlserver

instance_id ou URL

(empty)

schema_name

sqlserver-table:source_id::db:schema:table

analyticdb_for_mysql

instance_id

(empty)

(empty)

analyticdb_for_mysql-table:instance_id::db::table

ads

instance_id

(empty)

(empty)

ads-table:instance_id::db::table

hybriddb_for_postgresql

instance_id

(empty)

schema_name

hybriddb_for_postgresql-table:instance_id::db:schema:table

ots

instance_id

(empty)

(empty)

ots-table:instance_id::db::table

clickhouse

instance_id ou URL

(empty)

(empty)

clickhouse-table:source_id::db::table

starrocks

instance_id

catalog_name

(empty)

starrocks-table:instance_id:catalog:db::table

lindorm_for_engine

instance_id

(empty)

(empty)

lindorm_for_engine-table:instance_id::db::table