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 にアップロードする必要があります。
お使いの MySQL バージョンに一致する JDBC ドライバーの JAR パッケージを OSS にアップロードします。OSS コンソールにログインし、左側のナビゲーションウィンドウで [バケット] をクリックします。
ターゲットバケットの名前をクリックして [オブジェクト] ページを開きます。このトピックでは、
catalog-bucket-ossバケットを例として使用します。[ディレクトリの作成] をクリックして、JAR パッケージを保存するディレクトリを作成します。[ディレクトリ名] を
libsに設定します。JDBC ドライバーの JAR パッケージ用のディレクトリに移動します。[ファイルのアップロード] をクリックします。[アップロードするファイル] エリアで、[ファイルのスキャン] をクリックし、
mysql-connector-java-8.0.28.jarJDBC ドライバーの JAR パッケージをバケットに追加してから、[ファイルのアップロード] をクリックします。アップロードした JDBC ドライバーの JAR パッケージを見つけます。ファイルの [アクション] 列で、[詳細] をクリックします。[詳細] ページで、[ACL の設定] をクリックします。[ACL の設定] ダイアログボックスで、ファイル権限を [パブリック読み書き] に設定し、[OK] をクリックして外部参照を有効にします。
ステップ 2: 外部データソース接続の構成
StarRocks インスタンスのクエリリストに移動します。
EMR コンソールにログインします。左側のナビゲーションウィンドウで、 を選択して [インスタンスリスト] ページを開きます。
作成した StarRocks インスタンスを見つけ、[アクション] 列の [接続] をクリックします。[新しい接続] タブが表示されます。
[新しい接続] タブで、StarRocks インスタンスの [リージョン] と [インスタンス] 名を選択します。[接続名]、[ユーザー名]、および [パスワード] を入力します。[接続テスト] をクリックします。接続が成功したら、[OK] をクリックして StarRocks インスタンスの [クエリリスト] ページを開きます。
StarRocks データソースで MySQL 外部接続を構成します。
クエリリストの下にある [+ ファイル] ボタンをクリックします。[ファイルの作成] ダイアログボックスで、[名前] を入力し、[ストレージパス] を選択して、[OK] をクリックしてファイルを作成します。
[すべてのファイル] の下で、作成したファイルをダブルクリックして 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: データソースの構成
DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。[ワークスペースリスト] ページで、作成したワークスペースを見つけ、[アクション] 列の [管理] をクリックして [管理センター] を開きます。
管理センターページの左側のナビゲーションウィンドウで、 を選択します。データソースリストページで、StarRocks と MySQL のデータソースを追加します。詳細については、「StarRocks データソースを追加する」および「MySQL データソースを追加する」をご参照ください。
説明MySQL データソースの場合、構成モードを接続文字列モードに設定します。このモードは、JDBC タイプの外部データソースにも必要です。
ステップ 4: メタデータ収集の構成
DataWorks コンソールにログインします。ターゲットリージョンに切り替えます。左側のナビゲーションウィンドウで、 を選択し、[データマップへ移動] をクリックします。Data Map で、メタデータ収集を構成します。
内部 StarRocks カタログのメタデータ収集を構成する
カスタムコレクターを作成するの手順に従って、StarRocks コレクターを作成します。
StarRocks 外部カタログのメタデータ収集の構成
同様に、MySQL データソースのメタデータ収集を完了する必要があります。そうしないと、MySQL データソースの外部カタログ情報を検索できません。
MySQL データソースのメタデータ収集では、[作成済みコレクターを持つデータソース] を MySQL に設定します。
ステップ 5:メタデータを検索する
StarRocks と MySQL のメタデータ収集タスクが完了するのを待ちます。左側のナビゲーションウィンドウの
アイコンをクリックして、検索ページを開きます。
[タイプ] セクションの [データソース] タブで、[StarRocks] データソースを選択します。[フィルター条件] セクションで、作成した StarRocks [インスタンス]、StarRocks インスタンス内の MySQL データソースの外部ストレージ [Data Catalog] の名前、および対応する MySQL [データベース] を選択します。その後、StarRocks データソースで MySQL Catalog 情報を表示できます。次の図に結果を示します。

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

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

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

StarRocks 外部カタログのサンプル構成
以下に、StarRocks 外部カタログを構成するための構文を示します。
CREATE EXTERNAL CATALOG <Catalog_Name> COMMENT '' PROPERTIES("type"="","xxx1"="","xxx2"="");Catalog_Name パラメーターは、外部ストレージデータディレクトリの名前を指定します。名前はカスタマイズできます。
次の表に、StarRocks 外部カタログのサンプル構成を示します。詳細については、「Data Catalog」をご参照ください:
収集方法 | 接続方法 | StarRocks 外部カタログのサンプル構成 |
デフォルトカタログ | デフォルト | 収集メソッドがデフォルトカタログに設定されている場合、StarRocks 内部メタデータがデフォルトで収集されます。したがって、外部カタログを構成する必要はありません。詳細については、「DataAnalysis」をご参照ください。 |
ODPS カタログ | VPC | 説明 サンプルコードの |
Hive カタログ | Hive Metastore (HMS) | 説明 例の |
Data Lake Formation (DLF) | 説明 例の | |
Iceberg カタログ | Hive | 説明 Hive Metastore をメタデータサービスとして使用して Iceberg 外部カタログを構成する場合、例の |
Hudi カタログ | Hive | 説明 Hive Metastore をメタデータサービスとして使用して Hudi 外部カタログを構成する場合、例の |
Data Lake Formation (DLF) | 説明 DLF をメタデータサービスとして使用して Hudi 外部カタログを構成する場合、例の | |
Delta Lake カタログ | Hive | 説明
|
Data Lake Formation (DLF) | 説明 例の | |
JDBC カタログ | MySQL | 説明
|
PostgreSQL | 説明
| |
Paimon カタログ | Hive (StarRocks 3.1 以降でサポート) | 説明 Hive をメタデータサービスとして使用して Paimon Catalog を構成する場合:
|
Data Lake Formation (DLF、StarRocks 3.1 以降でサポート) | 説明 DLF をメタデータサービスとして使用して Paimon Catalog を構成する場合:
| |
統合カタログ | Hive (StarRocks 3.2 以降でサポート) | 説明 Hive をメタデータサービスとして使用して Unified Catalog を構成する場合、例の |