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

DataWorks:外部カタログ収集方法

最終更新日:Nov 11, 2025

Data Map は、間接的な関連付けを使用して外部カタログからメタデータを収集します。StarRocks データベースで外部カタログ機能を使用し、Data Map の StarRocks データソースからその外部カタログ内のテーブルとメタデータの詳細を表示したい場合は、このトピックの手順に従ってください。メタデータを構成して収集した後、Data Map の検索機能を使用して、StarRocks 外部カタログに関連付けられているテーブルやフィールドなどのメタデータを検索して表示できます。

背景情報

DataWorks で StarRocks データソースを構成し、メタデータ収集を開始すると、Data Map はデフォルトで StarRocks 内部カタログからのみメタデータを収集します。StarRocks 外部カタログからメタデータを取得するには、DataWorks で関連するデータソースへの接続を構成し、そのメタデータを収集する必要があります。収集が完了すると、Data Map は自動的にメタデータを関連付けます。その後、StarRocks データソース内で外部カタログとその関連メタデータを表示できます。

前提条件

  • StarRocks データベースを StarRocks データソースとして DataWorks に追加済みであること。詳細については、「StarRocks データソースを追加する」をご参照ください。

  • ホワイトリストによるアクセスの制御が有効になっているデータソースからメタデータを収集するには、事前に必要なホワイトリスト権限を構成する必要があります。詳細については、「メタデータ収集ホワイトリストを設定する」をご参照ください。

制限事項

  • Elasticsearch Catalog は外部カタログとしてサポートされていません。

  • OSS ソースからの Paimon Catalog は外部カタログとしてサポートされていません。

手順

このトピックでは、StarRocks の MySQL 外部カタログを例として使用します。MySQL データベースを mysql_catalog_db として構成する場合、Data Map で MySQL メタデータコレクターを構成して作成する必要があります。MySQL データベースからメタデータを収集した後、StarRocks で mysql_catalog_db のメタデータを検索して表示できます。

ステップ 1:データを準備する

MySQL データソースを作成する

データベース名が mysql_catalog_db の MySQL データソースを作成し、mysql_catalog_table という名前のサンプルテーブルを作成します。以下はサンプルスクリプトです。

CREATE TABLE mysql_catalog_table(
  catalog_table_id INT,
  catalog_table_name VARCHAR(255)
)

MySQL JDBC ドライバーパッケージを準備する

お使いのバージョンに一致する MySQL Java Database Connectivity (JDBC) ドライバーを OSS にアップロードする必要があります。

  1. お使いの MySQL バージョンに一致する JDBC ドライバーの JAR パッケージを OSS にアップロードします。OSS コンソールにログインし、左側のナビゲーションウィンドウで [バケット] をクリックします。

  2. ターゲットバケットの名前をクリックして [オブジェクト] ページを開きます。このトピックでは、catalog-bucket-oss バケットを例として使用します。

  3. [ディレクトリの作成] をクリックして、JAR パッケージを保存するディレクトリを作成します。[ディレクトリ名]libs に設定します。

  4. JDBC ドライバーの JAR パッケージ用のディレクトリに移動します。[ファイルのアップロード] をクリックします。[アップロードするファイル] エリアで、[ファイルのスキャン] をクリックし、mysql-connector-java-8.0.28.jar JDBC ドライバーの JAR パッケージをバケットに追加してから、[ファイルのアップロード] をクリックします。

  5. アップロードした JDBC ドライバーの JAR パッケージを見つけます。ファイルの [アクション] 列で、[詳細] をクリックします。[詳細] ページで、[ACL の設定] をクリックします。[ACL の設定] ダイアログボックスで、ファイル権限を [パブリック読み書き] に設定し、[OK] をクリックして外部参照を有効にします。

ステップ 2: 外部データソース接続の構成

  1. StarRocks インスタンスのクエリリストに移動します。

    1. EMR コンソールにログインします。左側のナビゲーションウィンドウで、[EMR Serverless] > [StarRocks] を選択して [インスタンスリスト] ページを開きます。

    2. 作成した StarRocks インスタンスを見つけ、[アクション] 列の [接続] をクリックします。[新しい接続] タブが表示されます。

    3. [新しい接続] タブで、StarRocks インスタンスの [リージョン][インスタンス] 名を選択します。[接続名][ユーザー名]、および [パスワード] を入力します。[接続テスト] をクリックします。接続が成功したら、[OK] をクリックして StarRocks インスタンスの [クエリリスト] ページを開きます。

  2. StarRocks データソースで MySQL 外部接続を構成します。

    1. クエリリストの下にある [+ ファイル] ボタンをクリックします。[ファイルの作成] ダイアログボックスで、[名前] を入力し、[ストレージパス] を選択して、[OK] をクリックしてファイルを作成します。

    2. [すべてのファイル] の下で、作成したファイルをダブルクリックして StarRocks インスタンスエディターを開きます。外部接続用に次のサンプルスクリプトを入力します。詳細については、「StarRocks 外部カタログのサンプル構成」をご参照ください。

      CREATE EXTERNAL CATALOG mysql_db_catalog PROPERTIES (
          "driver_class" = "com.mysql.cj.jdbc.Driver", 
          "driver_url" = "https://catalog-bucket-oss.oss-cn-hangzhou-internal.aliyuncs.com/libs/mysql-connector-java-8.0.28.jar", 
          "type" = "jdbc", 
          "user" = "<UserName>", 
          "password"="<PassWord>",
          "jdbc_uri" = "jdbc:mysql://xxx:3306/mysql_catalog_db" );
      説明
      • mysql_db_catalog パラメーターは、MySQL データソースの外部ストレージデータディレクトリの名前を指定します。

      • UserName および PassWord パラメーターは必要に応じて設定してください。

      • jdbc_uri: 作成したデータベースへの接続パスを入力する必要があります。

    3. 編集が完了したら、[実行] をクリックしてスクリプトを実行します。スクリプトが正常に実行された後、[データベース] タブで関連付けられたテーブルに関する情報を表示できます。

      image

ステップ 3: データソースの構成

  1. DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。[ワークスペースリスト] ページで、作成したワークスペースを見つけ、[アクション] 列の [管理] をクリックして [管理センター] を開きます。

  2. 管理センターページの左側のナビゲーションウィンドウで、[データソース] > [データソースリスト] を選択します。データソースリストページで、StarRocks と MySQL のデータソースを追加します。詳細については、「StarRocks データソースを追加する」および「MySQL データソースを追加する」をご参照ください。

    説明

    MySQL データソースの場合、構成モードを接続文字列モードに設定します。このモードは、JDBC タイプの外部データソースにも必要です。

ステップ 4: メタデータ収集の構成

DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、[Data Catalog] > [データマップ] を選択し、[データマップへ移動] をクリックします。Data Map で、メタデータ収集を構成します。

内部 StarRocks カタログのメタデータ収集を構成する

カスタムコレクターを作成するの手順に従って、StarRocks コレクターを作成します。

StarRocks 外部カタログのメタデータ収集の構成

同様に、MySQL データソースのメタデータ収集を完了する必要があります。そうしないと、MySQL データソースの外部カタログ情報を検索できません。

説明

MySQL データソースのメタデータ収集では、[作成済みコレクターを持つデータソース]MySQL に設定します。

ステップ 5:メタデータを検索する

StarRocks と MySQL のメタデータ収集タスクが完了するのを待ちます。左側のナビゲーションウィンドウの image アイコンをクリックして、検索ページを開きます。

  1. [タイプ] セクションの [データソース] タブで、[StarRocks] データソースを選択します。[フィルター条件] セクションで、作成した StarRocks [インスタンス]、StarRocks インスタンス内の MySQL データソースの外部ストレージ [Data Catalog] の名前、および対応する MySQL [データベース] を選択します。その後、StarRocks データソースで MySQL Catalog 情報を表示できます。次の図に結果を示します。

    image

  2. または、[タイプ] セクションの [データソース] タブで、[MySQL] データソースを選択します。[フィルター条件] セクションで、作成した MySQL データベースの名前を選択し、テーブル情報が一致することを確認します。

    image

  3. テーブル詳細の表示。

    テーブル名をクリックして、次の図に示すように詳細を表示します。

    image

    以下に詳細を説明します。

    image

StarRocks 外部カタログのサンプル構成

以下に、StarRocks 外部カタログを構成するための構文を示します。

CREATE EXTERNAL CATALOG <Catalog_Name> COMMENT '' PROPERTIES("type"="","xxx1"="","xxx2"="");
説明

Catalog_Name パラメーターは、外部ストレージデータディレクトリの名前を指定します。名前はカスタマイズできます。

次の表に、StarRocks 外部カタログのサンプル構成を示します。詳細については、「Data Catalog」をご参照ください:

収集方法

接続方法

StarRocks 外部カタログのサンプル構成

デフォルトカタログ

デフォルト

収集メソッドがデフォルトカタログに設定されている場合、StarRocks 内部メタデータがデフォルトで収集されます。したがって、外部カタログを構成する必要はありません。詳細については、「DataAnalysis」をご参照ください。

ODPS カタログ

VPC

CREATE EXTERNAL CATALOG cwy_odps_vpc_hangzhou_catalog PROPERTIES(
    "type"="odps",
    "odps.access.id"="<AccessId>",
    "odps.access.key"="<AccessKey>",
    "odps.endpoint"="http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api",
    "odps.project"="<ODPSProject>"
);
説明

サンプルコードの AccessIdAccessKey、および ODPSProject を実際の値に置き換える必要があります。EndPoint のサンプル値は http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api です。データソースのリージョンに基づいて、MaxCompute エンドポイントリストで正しいパラメーター値を見つけることもできます。詳細については、「エンドポイント」をご参照ください。

Hive カタログ

Hive Metastore (HMS)

CREATE EXTERNAL CATALOG `hive_catalog_hms` PROPERTIES (
    "hive.metastore.type" = "hive", 
    "hive.metastore.uris" = "thrift://192.xxx.xxx.xxx:9083", 
    "type" = "hive" 
);
説明

例の hive.metastore.uris パラメーターを、Hive データソースの hive-site.xml 構成ファイルの hive.metastore.uris パラメーターの値に置き換えてください。

Data Lake Formation (DLF)

CREATE EXTERNAL CATALOG `hive_catalog_dlf` PROPERTIES (
    "hive.metastore.type" = "dlf", 
    "dlf.catalog.id"="123456",
    "type" = "hive" 
);
説明

例の dlf.catalog.id パラメーターの値を、Hive データソースの hive-site.xml 構成ファイルにある対応する dlf.catalog.id パラメーターの値に置き換えてください。

Iceberg カタログ

Hive

CREATE EXTERNAL CATALOG iceberg_catalog_by_hms 
PROPERTIES (
  "iceberg.catalog.type"  =  "hive",
  "hive.metastore.uris"  =  "thrift://192.xxx.xxx.xxx:9083",
  "type"  =  "iceberg"
);
説明

Hive Metastore をメタデータサービスとして使用して Iceberg 外部カタログを構成する場合、例の hive.metastore.uris パラメーターの値を、Hive データソースの hive-site.xml 構成ファイルにある hive.metastore.uris パラメーターの値に置き換えてください。

Hudi カタログ

Hive

CREATE EXTERNAL CATALOG hudi_catalog_by_hms 
PROPERTIES (
  "hive.metastore.type"  =  "hive",
  "hive.metastore.uris"  =  "thrift://192.xxx.xxx.xxx:9083",
  "type"  =  "hudi"
);
説明

Hive Metastore をメタデータサービスとして使用して Hudi 外部カタログを構成する場合、例の hive.metastore.uris パラメーターの値を、Hive データソースの hive-site.xml 構成ファイルにある対応する hive.metastore.uris パラメーターの値に置き換えてください。

Data Lake Formation (DLF)

CREATE EXTERNAL CATALOG hudi_catalog_by_dlf
PROPERTIES (
  "hive.metastore.type" ="dlf",
  "dlf.catalog.id"="123456",
  "type"  =  "hudi"
);
説明

DLF をメタデータサービスとして使用して Hudi 外部カタログを構成する場合、例の dlf.catalog.id パラメーターの値を、Hive データソースの hive-site.xml 構成ファイルにある対応する dlf.catalog.id パラメーターの値に置き換えてください。

Delta Lake カタログ

Hive

CREATE EXTERNAL CATALOG `deltalake_hive` PROPERTIES (
    "hive.metastore.type" = "hive", 
    "hive.metastore.uris" = "thrift://192.xxx.xxx.xxx:9083",
    "type" = "deltalake" ,
    "aliyun.oss.access_key" = "<AccessId>",
    "aliyun.oss.secret_key" = "<AccessKey>",
    "aliyun.oss.endpoint" = "<EndPoint>" 
);
説明
  • 例の hive.metastore.uris パラメーターを、Hive データソースの hive-site.xml 構成ファイルにある対応する hive.metastore.uris パラメーターの値に置き換えてください。

  • AccessIdAccessKey の値を実際の値に置き換えてください。

  • EndPoint パラメーターについては、データソースのリージョンに基づいて OSS エンドポイントリストから正しいエンドポイントを見つけてください。詳細については、「リージョンとエンドポイント」をご参照ください。サンプル値は http://oss-cn-hangzhou-internal.aliyuncs.com です。

Data Lake Formation (DLF)

CREATE EXTERNAL CATALOG `deltalake_dlf` PROPERTIES (
    "hive.metastore.type" = "dlf", 
    "dlf.catalog.id"="123456",
    "type" = "deltalake" 
);
説明

例の dlf.catalog.id パラメーターを、Hive データソースの hive-site.xml 構成ファイルにある対応する dlf.catalog.id パラメーターの値に置き換えてください。

JDBC カタログ

MySQL

CREATE EXTERNAL CATALOG cwy_mysql_db_catalog PROPERTIES (
    "driver_class" = "com.mysql.cj.jdbc.Driver", 
    "driver_url" = "https://bucket-hz.oss-cn-hangzhou-internal.aliyuncs.com/libs/mysql-connector-java-8.0.28.jar", 
    "type" = "jdbc", 
    "user" = "<UserName>", 
    "password"="<PassWord>",
    "jdbc_uri" = "jdbc:mysql://xxx:3306/<database>" );
説明
  • driver_url パラメーターは、OSS 内の JDBC ドライバー JAR ファイルのストレージ場所を指定します。OSS との間でドライバー JAR ファイルをアップロードまたはダウンロードする方法については、「簡易ダウンロード」をご参照ください。

  • UserNamePassWord の値を実際の値に置き換えてください。

  • jdbc_uri パラメーターは、データベースの接続文字列を指定します。database パラメーターは、データベースの名前を指定します。

PostgreSQL

CREATE EXTERNAL CATALOG `cwy_postgressql_db_catalog` PROPERTIES (
    "driver_class" = "org.postgresql.Driver", 
    "driver_url" = "https://bucket-hz.oss-cn-hangzhou-internal.aliyuncs.com/libs/postgresql-42.3.3.jar", 
    "type" = "jdbc", 
    "user" = "<UserName>", 
    "password"="<PassWord>",
    "jdbc_uri" = "jdbc:postgresql://xxxx:5432/<database>" );
説明
  • driver_url パラメーターは、OSS 内の JDBC ドライバー JAR ファイルのストレージ場所を指定します。OSS との間でドライバー JAR ファイルをアップロードまたはダウンロードする方法については、「簡易ダウンロード」をご参照ください。

  • UserNamePassWord の値を実際の値に置き換えてください。

  • jdbc_uri パラメーターは、データベースの接続文字列を指定します。database パラメーターは、データベースの名前を指定します。

Paimon カタログ

Hive (StarRocks 3.1 以降でサポート)

CREATE EXTERNAL CATALOG paimon_by_hive
COMMENT ''
PROPERTIES (
  "type" = "paimon",
  "paimon.catalog.warehouse" = "oss://bucket-hz/paimon_warehouse/",
  "paimon.catalog.type" = "hive",
  "hive.metastore.uris" = "thrift://192.xxx.xxx.xxx:9083"
);
説明

Hive をメタデータサービスとして使用して Paimon Catalog を構成する場合:

  • paimon.catalog.warehouse パラメーターは、Paimon データレイクフレームワークの構成プロパティであり、データウェアハウスのルートパスを指定します。

  • hive.metastore.uris パラメーターは、Hive データソースの hive-site.xml 構成ファイルにある hive.metastore.uris パラメーターの値を指定します。

Data Lake Formation (DLF、StarRocks 3.1 以降でサポート)

CREATE EXTERNAL CATALOG paimon_by_dlf
PROPERTIES (
  "type" = "paimon",
  "paimon.catalog.type" = "dlf",
  "paimon.catalog.warehouse" = "oss://bucket-hz/paimon_warehouse/",
  "aliyun.oss.endpoint" = "EndPoint",
  "dlf.catalog.id"="123456"
);
説明

DLF をメタデータサービスとして使用して Paimon Catalog を構成する場合:

  • paimon.catalog.warehouse パラメーターは、Paimon データレイクフレームワークの構成プロパティであり、データウェアハウスのルートパスを指定します。

  • データソースのリージョンに基づいて、OSS エンドポイントリストから EndPoint パラメーターの正しい値を見つけてください。詳細については、「リージョンとエンドポイント」をご参照ください。サンプル値は oss-cn-hangzhou-internal.aliyuncs.com です。

  • 例の dlf.catalog.id パラメーターを、Hive データソースの hive-site.xml 構成ファイルにある対応する dlf.catalog.id パラメーターの値に置き換えてください。

統合カタログ

Hive (StarRocks 3.2 以降でサポート)

CREATE EXTERNAL CATALOG unified_by_dlf
PROPERTIES (
  "type" = "unified",
  "unified.metastore.type" = "hive",
  "hive.metastore.uris" = "thrift://192.xxx.xxx.xxx:9083"
);
説明

Hive をメタデータサービスとして使用して Unified Catalog を構成する場合、例の hive.metastore.uris パラメーターを、Hive データソースの hive-site.xml 構成ファイルにある hive.metastore.uris パラメーターの値に置き換えてください。