このトピックでは、Iceberg REST を使用して Serverless StarRocks を Data Lake Formation (DLF) カタログに接続する方法について説明します。
Iceberg REST プロトコルを使用して Serverless StarRocks を Data Lake Formation (DLF) に接続すると、StarRocks は DLF に保存されている Iceberg テーブルを直接クエリできます。
前提条件
作業を開始する前に、以下の要件を満たしていることを確認してください。
バージョン 3.3.20-2.0.0 以降を実行中の Serverless StarRocks インスタンス。詳細については、「インスタンスの作成」および「EMR StarRocks リリースノート」をご参照ください。
DLF カタログ が作成済みであること。
アクセスの制御の設定
DLF はアクセスの制御に Resource Access Management (RAM) を使用します。デフォルトでは、StarRocks ユーザーは DLF へのアクセス権限を持っていません。アクセスを許可するには、DLF への接続時に StarRocks の ID として機能する RAM ユーザーを作成し、DLF コンソールでそのユーザーにデータ権限を付与したうえで、StarRocks ユーザーにマッピングします。
ステップ 1:RAM ユーザーの作成または選択
-
Alibaba Cloud アカウント (root ユーザー) または RAM 管理者として RAM コンソール にログインします。
-
RAM ユーザーを作成するか、既存のユーザーを選択します。
RAM ユーザー名は、StarRocks の命名規則を満たすため、英字、数字、アンダースコア (
_) のみを含めることができます。
ステップ 2:DLF でのデータ権限の付与
ステップ 3:StarRocks ユーザーの作成と設定
-
EMR Serverless StarRocks コンソール に移動します。
-
ご利用の StarRocks インスタンスの 操作 列で 接続 をクリックします。詳細については、「EMR StarRocks Manager を使用して EMR Serverless StarRocks インスタンスに接続する」をご参照ください。
adminまたは他の管理者ユーザーで接続します。 -
StarRocks Manager で、セキュリティセンター > ユーザー管理 に移動し、ユーザーの作成 をクリックします。
-
ユーザーの作成 ダイアログで、以下の設定を行い、OK をクリックします。
フィールド 値 ユーザー ソース RAM ユーザー ユーザー名 ステップ 1 で作成した RAM ユーザーを選択します パスワード この StarRocks ユーザーのパスワードを設定します ロール デフォルトは public -
新しいユーザーに StarRocks 権限を付与します。
-
ユーザー管理 ページで、新しいユーザーを見つけ、操作 列の 権限の追加 をクリックします。
-
権限 タブで、権限の追加 をクリックします。
-
権限の追加 パネルで、リソース と 権限 を必要に応じて設定し、OK をクリックします。
これにより、ユーザーは StarRocks 内部リソースへのアクセスが可能になります。DLF カタログの権限を変更するには、DLF コンソールにアクセスしてください。
-
ステップ 4:ユーザーマッピングの確認(任意)
StarRocks ユーザーは、10~20 秒以内に RAM ユーザーにマッピングされます。マッピングを確認するには、以下の手順を実行します。
-
新しい StarRocks ユーザーで StarRocks Manager にログインします。
-
[クエリ] ページで、
アイコンをクリックして、SQL クエリを作成します。 -
次のコマンドを実行します。
show property;出力に RAM ユーザー ID が表示されれば、マッピングはアクティブです。

カタログの作成
Iceberg REST を使用して DLF カタログ内に作成されたすべてのテーブルは、Apache Iceberg テーブルです。
RAM ユーザーとして StarRocks Manager にログインし、次の SQL を実行して、ご利用の DLF カタログを指す外部カタログを作成します。
クエリ ページで、
アイコンをクリックして SQL クエリを作成します。次の文を入力し、実行 をクリックします。
接続パラメーター
パラメーター
必須
説明
例
typeはい
StarRocks カタログのタイプ。
icebergに設定します。iceberguriはい
DLF REST カタログ エンドポイントの URI。リージョン別のエンドポイントについては、「Iceberg REST」をご参照ください。
http://cn-hangzhou-vpc.dlf.aliyuncs.com/icebergiceberg.catalog.typeはい
カタログ実装タイプ。DLF の場合は
dlf_restに設定します。dlf_restwarehouseはい
DLF カタログの名前。
iceberg_test認証パラメーター
パラメーター
必須
説明
例
rest.signing-regionはい
DLF サービスのリージョン ID。リージョン ID については、「サービス エンドポイント」をご参照ください。
cn-hangzhouCREATE EXTERNAL CATALOG iceberg_catalog PROPERTIES ( "type" = "iceberg", "uri" = "http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg", "iceberg.catalog.type" = "dlf_rest", "warehouse" = "iceberg_test", "rest.signing-region" = "cn-hangzhou" );カタログ内の Iceberg テーブルをクエリします。
SELECT * FROM catalog_name.database_name.table_name;
