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

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

最終更新日:Mar 21, 2025

Data Mapでは、StarRocksデータソースの外部カタログ機能を使用して、外部データソースのメタデータを収集できます。このトピックでは、外部データソースのメタデータを収集するための外部カタログを作成するために必要な構成について説明します。構成を完了し、外部データソースのメタデータを収集すると、Data Mapで外部データソースのテーブルとフィールドに関する情報などのメタデータを検索および表示できます。

背景情報

デフォルトでは、StarRocksデータソースをDataWorksに追加してメタデータ収集を開始すると、Data MapはStarRocks内部カタログのメタデータのみを取得します。 StarRocks外部カタログ機能を使用して外部データソースのメタデータを取得する場合は、DataWorksで外部カタログに関連付けられている外部データソースとの接続を確立し、メタデータを収集する必要があります。収集が完了すると、Data Mapは外部データソースのメタデータを外部カタログに自動的に関連付けます。 StarRocksデータソースで外部カタログと関連付けられた外部データソースのメタデータを表示できます。

前提条件

  • DataWorksワークスペースが作成されていること。詳細については、「ワークスペースの作成」をご参照ください。

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

  • IPアドレスホワイトリストが有効になっている外部データソースのメタデータを収集する場合は、IPアドレスホワイトリストに関連する権限が構成されていることを確認してください。詳細については、「メタデータ収集のための IP アドレスホワイトリストの構成」をご参照ください。

制限事項

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

  • オブジェクトストレージサービス(OSS)Paimonカタログはサポートされていません。

手順

このトピックでは、StarRocksでサポートされているMySQL外部カタログを使用して、MySQLデータソースのメタデータを収集します。 mysql_catalog_dbという名前のMySQLデータベースを作成します。 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ドライバのJava ARchive(JAR)パッケージをOSSにアップロードするには、OSSコンソールにログインし、左側のナビゲーションペインで [バケット] をクリックします。

  2. [バケット] ページで、目的のバケットを見つけ、バケット名をクリックして [オブジェクト] ページに移動します。この例では、catalog-bucket-ossバケットを使用します。

  3. [オブジェクト] ページで、[ディレクトリの作成] をクリックして、JAR パッケージを格納するために使用するディレクトリを作成します。 [ディレクトリの作成] パネルで、[ディレクトリ名]libs に設定し、[OK] をクリックします。

  4. JDBCドライバJARパッケージが格納されているディレクトリに移動します。 [オブジェクトのアップロード] をクリックします。 [アップロードするファイル] セクションで、[ファイルを選択] をクリックし、mysql-connector-java-8.0.28.jar JDBCドライバJARパッケージを追加します。次に、[オブジェクトのアップロード] をクリックします。

  5. アップロードしたJDBCドライバJARパッケージを見つけ、[アクション] 列の [詳細の表示] をクリックします。 [詳細の表示] パネルで、[ACLの設定] をクリックします。 [ACLの設定] パネルで、ACLパラメータを [パブリック読み書き] に設定し、[OK] をクリックします。

ステップ 2:外部データソースとの接続の確立

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

    1. EMRコンソールにログインします。左側のナビゲーションペインで、[EMR Serverless] > [starrocks] を選択します。 [インスタンス] タブが表示されます。

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

    3. [新しい接続] タブで、[リージョン] パラメータを作成したStarRocksインスタンスがデプロイされているリージョンに設定し、[インスタンス] パラメータを作成したStarRocksインスタンスの名前に設定し、[接続名][ユーザー名][パスワード] パラメータを構成し、[ネットワーク接続のテスト] をクリックします。インスタンスが接続されたら、[OK] をクリックして [starrocksインスタンスのクエリリスト] に移動します。

  2. StarRocksデータソースでMySQLデータソースとの接続を確立します。

    1. [クエリ] タブで、[+ ファイル] をクリックします。 [ファイルの作成] ダイアログボックスで、[名前][保存パス] パラメータを構成し、[確認] をクリックします。

    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:作成した外部データベースのUniform Resource Identifier(URI)を入力します。

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

      image

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

  1. DataWorksコンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。次に、左側のナビゲーションペインで [ワークスペース] をクリックします。 [ワークスペース] ページで、作成したワークスペースを見つけ、[アクション] 列の [管理] をクリックします。 [設定センター] ページが表示されます。

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

    説明

    MySQLデータソースを追加する場合は、[構成モード] パラメータを [接続文字列モード] に設定します。 JDBCタイプの外部データソースを追加する場合は、[構成モード] パラメータを [接続文字列モード] に設定します。

ステップ 4:メタデータクローラーの構成

DataWorksコンソールにログインする必要があります。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、[メタデータ管理] > [data Map] を選択します。表示されるページで、[data Mapに移動] をクリックします。 Data Mapでメタデータクローラーを構成します。

StarRocks内部カタログのメタデータの収集

  1. DataMapページの左側のナビゲーションペインで、image アイコンをクリックします。表示されるページで、StarRocksデータソースタイプを見つけ、右上隅の [管理] をクリックします。

    image

  2. StarRocksメタデータ収集ページで、[クローラーが作成されていないデータソース] タブをクリックします。タブで、[ワークスペース] パラメーターをワークスペースに設定し、[データソース名] パラメーターをSettingCenterで追加したStarRocksデータソースの名前に設定します。

    image

  3. メタデータクローラーを構成します。

    目的のStarRocksデータソースを見つけ、[アクション] 列の [クローラーの作成] をクリックします。 [収集プランの構成] ダイアログボックスで、[リソースグループ名] パラメータを作成したリソースグループの名前に設定し、[ネットワーク接続のテスト] をクリックします。接続テストが成功するまで待ち、[収集プラン] パラメータを構成し、[確認] をクリックします。

  4. メタデータクローラーを実行します。

    [クローラーが作成されたデータソース] タブをクリックします。タブで、構成した収集プランを見つけます。 [アクション] 列の [実行] をクリックします。収集プランの [ステータス][成功] に変わるまで待ちます。

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

ステップ 4:メタデータクローラーの構成 のStarRocks内部カタログのメタデータ収集手順を実行して、MySQLデータソースのメタデータを収集する必要があります。そうしないと、MySQLデータソースの外部カタログ情報が見つかりません。

説明

MySQLデータソースのメタデータクローラーを作成する場合は、[メタデータの収集] ページでMySQLデータソースタイプを選択します。

ステップ 5:メタデータの検索

StarRocksとMySQLのメタデータ収集タスクが完了するまで待ちます。次に、DataMapページの左側のナビゲーションペインにある image アイコンをクリックして、検索ページに移動します。

  1. [データソース] タブの [タイプ] セクションで、[starrocks] をクリックします。[フィルター条件] セクションで、[インスタンス] パラメーターを作成した StarRocks インスタンスに設定し、[データカタログ] パラメーターを MySQL データソース用に作成した [外部データストレージカタログ] の名前に設定し、[データベース] パラメーターを対応する MySQL データベースに設定します。StarRocks データソースで MySQL カタログ情報を表示できます。次の図は結果を示しています。

    image

  2. [種類] セクションの [データソース] タブで、[mysql] をクリックします。[フィルター条件] セクションで、[データベース] パラメーターを作成した MySQL データベースの名前に設定します。次に、テーブル情報が同じかどうかを確認します。

    image

  3. テーブルの詳細を表示します。

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

    image

    次の図は詳細を示しています。

    image

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

StarRocks外部カタログのサンプル構成で使用される構文

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

Catalog_Nameパラメータは、外部カタログの名前を指定します。ビジネス要件に基づいてカタログ名を構成できます。

次の表は、StarRocks外部カタログ機能を使用して外部データソースのメタデータを収集する方法について説明しています。詳細については、以下を参照してください。

収集方法

接続方法

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

デフォルトカタログ

default

デフォルトのカタログが使用される場合、StarRocks の内部メタデータがデフォルトで収集されます。この場合、外部カタログを設定する必要はありません。詳細については、「カタログの概要」をご参照ください。

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 構成ファイルの同じパラメータの値に置き換えます。

Data Lake Framework(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 構成ファイルの同じパラメータの値に置き換えます。

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"
);
説明

Iceberg外部カタログを構成するときにHive Metastoreをメタデータサービスとして使用する場合は、サンプルコードの hive.metastore.uris パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えます。

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"
);
説明

Hudi外部カタログを構成するときにHive Metastoreをメタデータサービスとして使用する場合は、サンプルコードの hive.metastore.uris パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えます。

Data Lake Framework(DLF)

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

Hudi外部カタログを構成するときにData Lake Formation(DLF)をメタデータサービスとして使用する場合は、サンプルコードの dlf.catalog.id パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えます。

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 構成ファイルの同じパラメータの値に置き換えます。

  • サンプルコードの AccessIdAccessKey を実際の値に置き換えます。

  • サンプルコードの EndPoint を、異なるリージョンの OSS エンドポイントに基づいて置き換えてください。詳細については、「リージョンとエンドポイント」をご参照ください。サンプル値は http://oss-cn-hangzhou-internal.aliyuncs.com です。

Data Lake Framework(DLF)

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

サンプルコードの dlf.catalog.id パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えます。

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 は、JDBC ドライバー JAR パッケージが OSS に格納されているパスです。JDBC ドライバー JAR パッケージを OSS でアップロードまたはダウンロードする方法の詳細については、「シンプルなダウンロード」をご参照ください。

  • サンプルコードの UserNamePassWord を実際の値に置き換えます。

  • jdbc_uri パラメータは、作成した外部データベースの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 は、JDBC ドライバー JAR パッケージが OSS に保存されているパスです。JDBC ドライバー JAR パッケージを OSS にアップロードまたはダウンロードする方法の詳細については、「シンプルなダウンロード」をご参照ください。

  • サンプルコードの UserNamePassWord を実際の値に置き換えます。

  • jdbc_uri パラメータは、作成した外部データベースの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"
);
説明

Paimon外部カタログを構成するときにHiveをメタデータサービスとして使用する場合は、次の項目に注意してください。

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

  • サンプルコードの hive.metastore.uris パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えることができます。

Data Lake Formation (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"
);
説明

Paimon外部カタログを構成するときにDLFをメタデータサービスとして使用する場合は、次の項目に注意してください。

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

  • サンプルコードの EndPoint は、リージョンごとの OSS エンドポイントに基づいて置き換えることができます。詳細については、「リージョンとエンドポイント」をご参照ください。サンプル値は oss-cn-hangzhou-internal.aliyuncs.com です。

  • サンプルコードの dlf.catalog.id パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えることができます。

Unified カタログ

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"
);
説明

Unified外部カタログを構成するときにHiveをメタデータサービスとして使用する場合は、サンプルコードの hive.metastore.uris パラメータの値を、Hiveデータソースの hive-site.xml 構成ファイルの同じパラメータの値に置き換えます。