Query existing Apache Iceberg tables#
このガイドでは、ハイブリッドマネージャーHMレイクハウスクラスターから既存のApache Icebergテーブルを照会する方法について説明します。
Lakehouseクラスターをオブジェクトストレージに保存されているIcebergテーブルに接続し、PGAAを使用してSQLクエリーを実行できます。
Iceberg統合の背景については、 Apache Iceberg in Hybrid Manager を参照してください。
ゴール#
このガイドを完了すると、次のことを行います。
チェック Icebergデータを指すPGFSストレージの場所を定義できること チェック IcebergテーブルをPostgres SQLに公開するPGAAリーダーテーブルを作成できること チェックSQLベースの分析と既存のIcebergテーブルへのBIアクセスのロックを解除します チェック Postgresツールとユーザーを有効にする他のシステムによって作成されたIcebergデータを照会する
これを使用する場合#
次の場合にこのガイドに従う必要があります。
Spark、Trino、Flink、PGDオフロード、またはその他のシステムによって書き込まれたIcebergテーブルが既にあります
ハイブリッドマネージャーのLakehouseクラスターを使用してこのデータを照会したい
BIツールまたはPostgresクライアントをIcebergデータに接続したい
パフォーマンスをテストしているか、既存のIcebergデータセットとのLakehouse統合を検証しています。
前提条件#
HMプロビジョニングされたEDB Postgres Lakehouseクラスター
S3互換オブジェクトストレージの既存のApache Icebergテーブル
適切なストレージ権限必要な場合
version-hint.textまたはvX.metadata.jsonのいずれかを含むIcebergテーブルルートへのパス
ステップ#
1.PGFSストレージの場所を定義する#
Lakehouseクラスターに接続し、PGFSストレージの場所を定義します。
例
SELECT pgfs.create_storage_location(
name => my_s3_iceberg_data,
url => s3://your-bucket/path/to/iceberg,
options => {},
credentials => {"access_key_id": "...", "secret_access_key": "..."}
);
2. IcebergのPGAA外部テーブルを作成します#
CREATE TABLE public.my_sales_iceberg_data (
sales_id INT,
sales_date DATE,
sales_amount NUMERIC
)
USING PGAA
WITH (
pgaa.storage_location = my_s3_iceberg_data,
pgaa.path = sales_records/iceberg_table_root,
pgaa.format = iceberg
);
これにより、IcebergテーブルがPostgres SQLに公開されます。
CREATE TABLE public.my_sales_iceberg_data ()
USING PGAA
WITH (
pgaa.storage_location = my_s3_iceberg_data,
pgaa.path = sales_records/iceberg_table_root,
pgaa.format = iceberg
);
注カタログで管理されていないIcebergテーブルの場合、pgaa.pathは通常、version-hint.textファイルが存在するディレクトリを指すか、vX.metadata.jsonファイルを直接指します。
3. Icebergテーブルを照会します#
標準のSQLを使用してクエリーを実行します。
例
SELECT * FROM public.my_sales_iceberg_data
WHERE sales_region = North America
LIMIT 100;
注#
Lakehouseクラスターは、高速なIcebergクエリーのためのベクトル化クエリエンジンを使用します
ファイルベースのIcebergテーブルを照会するためにカタログ接続は必要ありません
Icebergテーブルがカタログ管理されている場合、代替フローについては Configure an Iceberg REST catalog connection を参照してください
次のステップ#
Iceberg外部テーブルを作成し、クエリを実行しました。
Configure an Iceberg REST catalog connection でカタログ管理テーブルを照会できます
Offload PGD data to Apache Iceberg を使用して、アイスバーグレイクハウスにデータを追加できます
Query Tiered Tables from PGD and Lakehouse を使用して運用データと統合できます
アーキテクチャの概要については、 Analytics in Hybrid Manager を参照してください。