メインコンテンツまでスキップ
バージョン: 4.x

Apache Polaris

Apache Polarisは、Iceberg REST Catalog仕様に準拠したオープンソースのカタログサービスです。Apache Polaris Catalogを作成することで、VeloDB CloudでPolarisによって管理されているIcebergTableをクエリでき、複数のコンピュートエンジン間でのデータ共有が可能になります。

PolarisはOAuth2認証メカニズムをサポートし、Vended Credentials機能を通じてクライアントに一時的なストレージアクセス認証情報を安全に発行できます。

前提条件

Apache Polaris Catalogを作成する前に、以下の条件が満たされていることを確認してください:

Polaris側の準備

  • Apache Polarisサービスがデプロイされ、VeloDB Cloudからアクセス可能であること。
  • PolarisにCatalogとNamespaceが作成されていること。
  • 認証用のPrincipal(クライアント IDとClient Secretを含む)が作成されていること。
  • Principalに適切なロールと権限が割り当てられていること。

ストレージ側の準備

  • データファイルがクラウドオブジェクトストレージ(例:Amazon S3)に保存されていること。
  • Vended Credentialsを使用しない場合、読み書き権限を持つストレージアクセス認証情報を準備する必要があること。

ネットワーク要件

  • VeloDB CloudがPolaris サーバー Endpointにアクセス可能であること。
  • VeloDB Cloudがデータストレージ(例:S3)にアクセス可能であること。

SaaS Mode VeloDB Cloudの場合

  • Polaris サーバー Endpointへのアクセスには、VeloDBがVPCにアクセスできるようにする必要がある場合があります。VeloDB Accesses Your VPCを参照してください。
  • Warehouseと同じリージョンのS3バケットのみアクセス可能です。

BYOC Mode VeloDB Cloudの場合

  • Polaris サーバー EndpointとS3バケットへのアクセスには、デプロイ時のネットワークポリシーを参照する必要があります。Create VPC Network Resourcesを参照してください。

Catalogの作成

VeloDB CloudでApache Polaris Catalogを作成する手順に従ってください。

ステップ1:作成ページへの移動

  1. VeloDB Cloudコンソールにログインします。
  2. 左側のナビゲーションバーでCatalogsをクリックします。
  3. Add 外部カタログボタンをクリックします。
  4. Data Lakeカテゴリーの下でApache Polarisを選択します。

ステップ2:基本情報の入力

Basic Informationセクションで、Catalogの基本識別情報を設定します。

apache-polaris-1

フィールド必須説明
カタログ NameCatalogの一意の名前で、SQLクエリでデータソースを識別するために使用されます。
Commentオプションの説明情報。

ステップ3:Metastoreの設定

Metastoreセクションで、Apache Polarisサービスに接続するために必要な情報を設定します。

apache-polaris-2

接続設定

フィールド必須説明
WarehousePolarisのCatalog名。これはPolarisサービスで作成したCatalogで、VeloDB Cloudはこの名前を介して対応するメタデータにアクセスします。
Polaris サーバー EndpointPolaris REST APIのエンドポイントアドレス。形式はhttp(s)://<polaris-host>:<port>/api/catalogです。

OAuth2認証設定

PolarisはOAuth2 クライアント Credentialsフローを認証に使用します。Polarisでプリンシパルを作成し、認証情報を取得する必要があります。

フィールド必須説明
クライアント IDOAuth2 クライアント ID、PolarisでPrincipalを作成する際に生成される識別子。
クライアント SecretOAuth2 クライアント Secret、クライアント IDと組み合わせて認証に使用されます。
ScopeOAuth2権限スコープ、この認証情報がアクセスできるリソースの範囲を定義します。
サーバー URIOAuth2 Tokenエンドポイントアドレス、アクセストークンを取得するために使用されます。

Scopeについて:

  • PRINCIPAL_ROLE:ALL:Principalに割り当てられたすべてのロールを使用。
  • PRINCIPAL_ROLE:<role-name>:指定されたロールのみを使用。

ステップ4:ストレージアクセスの設定

Storageセクションで、基盤となるデータファイルにアクセスするための認証情報を設定します。

Polarisで管理されるIcebergTableのデータは、クラウドオブジェクトストレージ(例:S3)に保存されます。VeloDB Cloudはデータファイルを読み取るためにストレージアクセス権限を取得する必要があります。

Vended Credentials(推奨)

Enable Vended Credentialsスイッチは、Polarisによって発行される一時認証情報を使用してストレージにアクセスするかどうかを制御します。

Vended Credentialsを有効にする:

apache-polaris-3

  • Polarisが各リクエストに対して動的に一時的なストレージアクセス認証情報を発行します。
  • VeloDB Cloudで長期間のストレージ認証情報を設定する必要がありません。
  • 認証情報が自動でローテーションされ、セキュリティが向上します。
  • 前提条件:Polarisサーバー側でStorage Integrationが正しく設定されていること。

適用シナリオ:

  • PolarisがStorage Integrationを設定している場合。
  • ストレージアクセス権限を集中管理したい場合。
  • より高いセキュリティを求める場合。

ストレージ認証情報の手動設定

Vended Credentialsを無効にする:

S3アクセス権限を持つ認証情報を手動で設定する必要があります。

apache-polaris-4

フィールド必須説明
Regionストレージバケットが配置されているリージョン、例:us-east-1
認証認証方法、現在はAccess Keyをサポートしています。
AKAWS Access Key ID。
SKAWS Secret Access Key。

適用シナリオ

  • PolarisでVended Credentialsが設定されていない場合。
  • Polarisとは異なるストレージアクセス権限を使用する必要がある場合。
  • テストおよび開発環境。

ステップ5:詳細設定(オプション)

Advanced Settingsをクリックして、より多くの設定オプションを展開します。

apache-polaris-5

詳細設定には通常以下が含まれます:

  • メタデータキャッシュ設定
  • 接続タイムアウト設定

ヒント:ほとんどのシナリオでは、デフォルト値で十分です。

ステップ6:作成の確認

  1. すべての設定情報が正しいかチェックします。
  2. ConfirmボタンをクリックしてCatalogを作成します。
  3. 接続検証の完了を待ちます。

作成が成功すると、Catalogリストで新しく作成されたApache Polaris Catalogを確認できます。

Catalogの使用

作成が成功した後、このCatalogを使用してSQL Editorでデータをクエリできます。

データベースとTableの表示

-- View all Namespaces (Databases) under the カタログ
SHOW DATABASES FROM polaris_iceberg;

-- View all tables under a Namespace
SHOW TABLES FROM polaris_iceberg.my_namespace;

-- View table structure
DESCRIBE polaris_iceberg.my_namespace.my_table;

Query Data

-- Query data
SELECT * FROM polaris_iceberg.my_namespace.my_table LIMIT 100;

-- Query with conditions
SELECT column1, column2
FROM polaris_iceberg.my_namespace.my_table
WHERE created_at >= '2024-01-01';