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にアップロードする必要があります。
MySQLデータベースと同じバージョンのJDBCドライバのJava ARchive(JAR)パッケージをOSSにアップロードするには、OSSコンソールにログインし、左側のナビゲーションペインで [バケット] をクリックします。
[バケット] ページで、目的のバケットを見つけ、バケット名をクリックして [オブジェクト] ページに移動します。この例では、
catalog-bucket-oss
バケットを使用します。[オブジェクト] ページで、[ディレクトリの作成] をクリックして、JAR パッケージを格納するために使用するディレクトリを作成します。 [ディレクトリの作成] パネルで、[ディレクトリ名] を
libs
に設定し、[OK] をクリックします。JDBCドライバJARパッケージが格納されているディレクトリに移動します。 [オブジェクトのアップロード] をクリックします。 [アップロードするファイル] セクションで、[ファイルを選択] をクリックし、
mysql-connector-java-8.0.28.jar
JDBCドライバJARパッケージを追加します。次に、[オブジェクトのアップロード] をクリックします。アップロードしたJDBCドライバJARパッケージを見つけ、[アクション] 列の [詳細の表示] をクリックします。 [詳細の表示] パネルで、[ACLの設定] をクリックします。 [ACLの設定] パネルで、ACLパラメータを [パブリック読み書き] に設定し、[OK] をクリックします。
ステップ 2:外部データソースとの接続の確立
StarRocksインスタンスのクエリリストに移動します。
EMRコンソールにログインします。左側のナビゲーションペインで、 を選択します。 [インスタンス] タブが表示されます。
作成したStarRocksインスタンスを見つけ、[アクション] 列の [接続] をクリックします。表示されるページで、[新しい接続] タブをクリックします。
[新しい接続] タブで、[リージョン] パラメータを作成したStarRocksインスタンスがデプロイされているリージョンに設定し、[インスタンス] パラメータを作成したStarRocksインスタンスの名前に設定し、[接続名]、[ユーザー名]、[パスワード] パラメータを構成し、[ネットワーク接続のテスト] をクリックします。インスタンスが接続されたら、[OK] をクリックして [starrocksインスタンスのクエリリスト] に移動します。
StarRocksデータソースでMySQLデータソースとの接続を確立します。
[クエリ] タブで、[+ ファイル] をクリックします。 [ファイルの作成] ダイアログボックスで、[名前] と [保存パス] パラメータを構成し、[確認] をクリックします。
[すべてのファイル] の下で作成したファイルの名前をダブルクリックして、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:データソースの構成
DataWorksコンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。次に、左側のナビゲーションペインで [ワークスペース] をクリックします。 [ワークスペース] ページで、作成したワークスペースを見つけ、[アクション] 列の [管理] をクリックします。 [設定センター] ページが表示されます。
SettingCenter ページの左側のナビゲーションペインで、StarRocksデータソース」および「MySQL データソース」をご参照ください。
を選択します。[データソース] ページで、StarRocks データソースと MySQL データソースを追加します。詳細については、「説明MySQLデータソースを追加する場合は、[構成モード] パラメータを [接続文字列モード] に設定します。 JDBCタイプの外部データソースを追加する場合は、[構成モード] パラメータを [接続文字列モード] に設定します。
ステップ 4:メタデータクローラーの構成
DataWorksコンソールにログインする必要があります。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションペインで、 を選択します。表示されるページで、[data Mapに移動] をクリックします。 Data Mapでメタデータクローラーを構成します。
StarRocks内部カタログのメタデータの収集
DataMapページの左側のナビゲーションペインで、
アイコンをクリックします。表示されるページで、StarRocksデータソースタイプを見つけ、右上隅の [管理] をクリックします。
StarRocksメタデータ収集ページで、[クローラーが作成されていないデータソース] タブをクリックします。タブで、[ワークスペース] パラメーターをワークスペースに設定し、[データソース名] パラメーターをSettingCenterで追加したStarRocksデータソースの名前に設定します。
メタデータクローラーを構成します。
目的のStarRocksデータソースを見つけ、[アクション] 列の [クローラーの作成] をクリックします。 [収集プランの構成] ダイアログボックスで、[リソースグループ名] パラメータを作成したリソースグループの名前に設定し、[ネットワーク接続のテスト] をクリックします。接続テストが成功するまで待ち、[収集プラン] パラメータを構成し、[確認] をクリックします。
メタデータクローラーを実行します。
[クローラーが作成されたデータソース] タブをクリックします。タブで、構成した収集プランを見つけます。 [アクション] 列の [実行] をクリックします。収集プランの [ステータス] が [成功] に変わるまで待ちます。
StarRocks外部カタログのメタデータの収集
ステップ 4:メタデータクローラーの構成 のStarRocks内部カタログのメタデータ収集手順を実行して、MySQLデータソースのメタデータを収集する必要があります。そうしないと、MySQLデータソースの外部カタログ情報が見つかりません。
MySQLデータソースのメタデータクローラーを作成する場合は、[メタデータの収集] ページでMySQLデータソースタイプを選択します。
ステップ 5:メタデータの検索
StarRocksとMySQLのメタデータ収集タスクが完了するまで待ちます。次に、DataMapページの左側のナビゲーションペインにある アイコンをクリックして、検索ページに移動します。
[データソース] タブの [タイプ] セクションで、[starrocks] をクリックします。[フィルター条件] セクションで、[インスタンス] パラメーターを作成した StarRocks インスタンスに設定し、[データカタログ] パラメーターを MySQL データソース用に作成した [外部データストレージカタログ] の名前に設定し、[データベース] パラメーターを対応する MySQL データベースに設定します。StarRocks データソースで MySQL カタログ情報を表示できます。次の図は結果を示しています。
[種類] セクションの [データソース] タブで、[mysql] をクリックします。[フィルター条件] セクションで、[データベース] パラメーターを作成した MySQL データベースの名前に設定します。次に、テーブル情報が同じかどうかを確認します。
テーブルの詳細を表示します。
次の図に示すように、テーブル名をクリックしてテーブルの詳細を表示できます。
次の図は詳細を示しています。
StarRocks外部カタログのサンプル構成
StarRocks外部カタログのサンプル構成で使用される構文
CREATE EXTERNAL CATALOG <Catalog_Name> COMMENT '' PROPERTIES("type"="","xxx1"="","xxx2"="");
Catalog_Name
パラメータは、外部カタログの名前を指定します。ビジネス要件に基づいてカタログ名を構成できます。
次の表は、StarRocks外部カタログ機能を使用して外部データソースのメタデータを収集する方法について説明しています。詳細については、以下を参照してください。
収集方法 | 接続方法 | StarRocks外部カタログのサンプル構成 |
デフォルトカタログ | default | デフォルトのカタログが使用される場合、StarRocks の内部メタデータがデフォルトで収集されます。この場合、外部カタログを設定する必要はありません。詳細については、「カタログの概要」をご参照ください。 |
ODPS カタログ | VPC |
説明 サンプルコード内の |
Hive カタログ | Hive Metastore(HMS) |
説明 サンプルコードの |
Data Lake Framework(DLF) |
説明 サンプルコードの | |
Iceberg カタログ | Hive |
説明 Iceberg外部カタログを構成するときにHive Metastoreをメタデータサービスとして使用する場合は、サンプルコードの |
Hudi カタログ | Hive |
説明 Hudi外部カタログを構成するときにHive Metastoreをメタデータサービスとして使用する場合は、サンプルコードの |
Data Lake Framework(DLF) |
説明 Hudi外部カタログを構成するときにData Lake Formation(DLF)をメタデータサービスとして使用する場合は、サンプルコードの | |
Delta Lake カタログ | Hive |
説明
|
Data Lake Framework(DLF) |
説明 サンプルコードの | |
JDBC カタログ | MySQL |
説明
|
PostgreSQL |
説明
| |
Paimon カタログ | Hive (StarRocks 3.1 以降) |
説明 Paimon外部カタログを構成するときにHiveをメタデータサービスとして使用する場合は、次の項目に注意してください。
|
Data Lake Formation (StarRocks 3.1 以降) |
説明 Paimon外部カタログを構成するときにDLFをメタデータサービスとして使用する場合は、次の項目に注意してください。
| |
Unified カタログ | Hive (StarRocks 3.2 以降) |
説明 Unified外部カタログを構成するときにHiveをメタデータサービスとして使用する場合は、サンプルコードの |