すべてのプロダクト
Search
ドキュメントセンター

DataWorks:メタデータエンティティに関連する概念

最終更新日:Jul 04, 2025

DataWorks API 操作 ( 2024-05-18 ) は、さまざまなメタデータエンティティのクエリをサポートしています。このトピックでは、メタデータエンティティに関連する概念について説明します。

メタデータエンティティオブジェクト

Data Map は、メタデータクローラーを使用して、さまざまな種類とレベル ( サブタイプ ) のメタデータエンティティオブジェクトを収集および管理します。サポートされているクローラーの種類の詳細については、「サポートされているクローラーの種類」をご参照ください。

Data Map は、メタデータレベル構造に基づいて、次のメタデータエンティティレベルをサポートしています。

  • カタログ

  • データベース

  • スキーマ

  • テーブル

エンティティレベルは、クローラーの種類によって異なります。

サポートされているクローラタイプ

識別子

表示名

サポートされているメタデータエンティティレベル

備考

カタログ

データベース

スキーマ

テーブル

maxcompute

MaxCompute

  • Alibaba Cloud アカウント内のすべてのメタデータエンティティを識別するためのデフォルトのクローラーが提供されています。

  • MaxCompute では、データベースレベルのオブジェクトはプロジェクトです。API 操作を呼び出してプロジェクトをクエリすることはできません。

  • スキーマレベルがオプションかどうかは、MaxCompute プロジェクトで 3 層モデルが有効になっているかどうかによって異なります。

dlf

Data Lake Formation

Alibaba Cloud アカウント内のすべてのメタデータエンティティを識別するためのデフォルトクローラが提供されています。

hms

HMS

  • この種類のクローラーは、Hive Metastore Service ( HMS ) を使用してメタデータを管理します。

  • この種類のクローラーは、E-MapReduce ( EMR ) および CDH_HIVE クラスターからメタデータを収集するために使用できます。

holo

Hologres

mysql

MySQL

oracle

Oracle

postgresql

PostgreSQL

sqlserver

SQL Server

analyticdb_for_mysql

AnalyticDB MySQL

このタイプのクローラは、analyticdb_for_mysql および analyticdb_for_spark データソースからメタデータを収集するために使用できます。

ads

AnalytidDB MySQL 2.0

hybriddb_for_postgresql

AnalyticDB PostgreSQL

ots

OTS

clickhouse

ClickHouse

starrocks

StarRocks

カタログがサポートされています。このタイプのクローラは、内部カタログのメタデータエンティティのみをクエリするために使用できます。

エンティティタイプ ( EntityType )

EntityType は、メタデータエンティティタイプの識別子です。EntityType の値は、${CrawlerType}-${SubType} フォーマットです。

  • CrawlerType は、クローラータイプの識別子です。たとえば、CrawlerType の値は、mysqlmaxcomputedlf、または holo にすることができます。

  • SubType は、メタデータエンティティサブタイプの識別子です。たとえば、SubType の値は、catalogdatabaseschematable、または column にすることができます。

MaxCompute テーブルを使用する場合、EntityType の値は maxcompute-table です。

メタデータエンティティ ID ( MetaEntityId )

MetaEntityId: メタデータエンティティオブジェクトの識別子を示します。識別子には、可読性、一意性、および拡張性という特性があります。

クローラーメタデータインスタンスと、カタログ、データベース、スキーマ、テーブル、および列のエンティティオブジェクトがサポートされています。

メタデータエンティティ ID は、エンティティの一意の識別子として機能します。各レベルの識別子は、コロン ( : ) で区切ることができます。空の文字列は、サポートされていないレベルのプレースホルダーとして使用されます

クローラーメタデータインスタンス

クローラーメタデータエンティティ ID: メタデータエンティティ ID の一意の識別子。

  • MaxCompute および DLF クローラータイプの場合、テナントまたは Alibaba Cloud アカウント内のすべてのメタデータエンティティにデフォルトのクローラーが提供されます。クローラーメタデータエンティティ ID は、${CrawlerType} フォーマットです。

  • 手動で作成する必要がある他の種類のクローラーの場合、クローラーメタデータエンティティ ID は、${CrawlerType}:${MetaSourceId} フォーマットです。

    • CrawlerType: クローラータイプの識別子。たとえば、CrawlerType の値は、holo または mysql にすることができます。

    • MetaSourceId: メタデータソースの識別子。

      • インスタンスモード: インスタンス ID またはクラスター ID に対応します。

      • URL モード: URL エンコードされた URL ( Jdbc Url または Endpoint ) に対応します。

例:

  • MaxCompute タイプの場合、クローラーメタデータエンティティ ID は maxcompute です。

  • インスタンスモードの Hologres タイプの場合、インスタンス ID が i-z6j3kxxx7 であれば、クローラーメタデータエンティティ ID は holo:i-z6j3kxxx7 です。

  • URL モードの MySQL タイプの場合、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} です。次の要素が含まれています。

レベル

プロパティ

説明

-

EntityType

エンティティタイプの識別子。

-

MetaSourceId

  • インスタンスモードでは、MetaSourceId は、インスタンス ID またはクラスター ID に対応します。

  • URL モードでは、URL エンコードされた URL ( Jdbc Url または Endpoint ) に対応します。

MaxCompute および DLF タイプの場合、空の文字列がプレースホルダーとして使用されます。

カタログ

Catalog

カタログ識別子。

StarRocks タイプの場合、これはカタログ名です。DLF タイプの場合、これはカタログ ID です。他のタイプの場合、空の文字列がプレースホルダーとして使用されます。

データベース

Database

データベース名。

スキーマ

Schema

スキーマ名。

スキーマをサポートしていないタイプの場合、空の文字列がプレースホルダーとして使用されます。

MaxCompute タイプの場合、スキーマモデルが有効になっているときは、スキーマ名を指定する必要があります。有効になっていない場合は、空の文字列がプレースホルダーとして使用されます。

テーブル

Table

データテーブル名。

Column

フィールド名。

メタデータエンティティの例

MaxComputeDLFHMSHologres、および MySQL を含むさまざまなレベルのメタデータエンティティ ID の例を次に示します。

説明

次の ID の例では、各レベルの識別子は、コロン ( : ) で区切ることができます。空の文字列は、サポートされていないレベルのプレースホルダーとして使用されます

MaxCompute

説明
  • スキーマモデルが有効になっている MaxCompute プロジェクトのみがスキーマレベルをサポートし、データテーブル ID とフィールド ID の対応する位置にスキーマ名を指定する必要があります。

  • スキーマモデルが有効になっていない MaxCompute プロジェクトはスキーマレベルをサポートしておらず、データテーブル ID とフィールド ID の対応する位置には空の文字列がプレースホルダーとして使用されます。

プロジェクト project_name ( スキーマモデルが有効になっている )、スキーマ schema_name、テーブル table_name、およびフィールド column_name の場合、各レベルのエンティティ ID は次のとおりです。

レベル

ID

クローラメタデータインスタンス

maxcompute

プロジェクト

maxcompute-project:::project_name

スキーマ

maxcompute-schema:::project_name:schema_name

データテーブル

maxcompute-table:::project_name:schema_name:table_name

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

プロジェクト project_name ( スキーマモデルが有効になっていない )、テーブル table_name、およびフィールド column_name の場合、各レベルのエンティティ ID は次のとおりです。

レベル

ID

クローラーメタデータインスタンス

maxcompute

プロジェクト

maxcompute-project:::project_name

データテーブル

maxcompute-table:::project_name::table_name

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

DLF

カタログ catalog_id、データベース database_name、テーブル table_name、およびフィールド column_name の場合、各レベルのエンティティ ID は次のとおりです。

レベル

ID

クローラメタデータインスタンス

dlf

カタログ

dlf-catalog::catalog_id

データベース

dlf-database::catalog_id:database_name

データテーブル

dlf-table::catalog_id:database_name::table_name

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

HMS

EMR クラスタインスタンス c-a1b2c3xxx、データベース test_db、テーブル test_tbl、およびフィールド test_col の場合、各レベルのエンティティ ID は次のとおりです。

レベル

ID

クローラメタデータインスタンス

hms:c-a1b2c3xxx

データベース

hms-database:c-a1b2c3xxx::test_db

データテーブル

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

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

Hologres

この例では、Hologres インスタンス hgpostcn-cn-a1b2c3xxx、データベース test_db、スキーマ test_schema、データテーブル test_tbl、および列 test_col を使用します。次の表は、各レベルのエンティティ ID を示しています。

レベル

ID

クローラーメタデータインスタンス

maxcompute

プロジェクト

maxcompute-project:123456XXX::test_project

スキーマ

maxcompute-schema:123456XXX::test_project:default

データテーブル

maxcompute-table:123456XXX::test_project:default:test_tbl

maxcompute-column:123456XXX::test_project:default:test_tbl:test_col

MySQL

MySQL データソース接続文字列 jdbc:mysql://47.0.X.X:3306/test_db、データベース test_db、テーブル test_tbl、およびフィールド test_col の場合、各レベルのエンティティ ID は次のとおりです ( MetaSourceId は、JDBC 接続文字列を URL エンコードすることによって生成されます )。

レベル

ID

クローラーメタデータインスタンス

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

データベース

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

データテーブル

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

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