Skip to main content
Lakekeeper カタログとのインテグレーションは、Iceberg テーブルでのみ利用できます。 このインテグレーションは、AWS S3 とその他のクラウドストレージプロバイダーの両方に対応しています。
ClickHouse は、複数のカタログ (Unity、Glue、REST、Polaris など) とのインテグレーションをサポートしています。このガイドでは、ClickHouse と Lakekeeper カタログを使用してデータをクエリする手順を説明します。 Lakekeeper は、Apache Iceberg 向けのオープンソースの REST カタログ実装で、以下を提供します。
  • 高いパフォーマンスと信頼性を実現する Rust native 実装
  • Iceberg REST カタログ仕様に準拠した REST API
  • S3-compatible ストレージと連携する Cloud ストレージ インテグレーション
この機能は実験段階のため、次を使用して有効にする必要があります。 SET allow_experimental_database_iceberg = 1;

ローカル開発環境のセットアップ

ローカルでの開発やテストには、コンテナー化された Lakekeeper 構成を使用できます。この方法は、学習、プロトタイピング、開発環境に適しています。

前提条件

  1. Docker と Docker Compose: Docker がインストールされ、起動していることを確認してください
  2. サンプルセットアップ: Lakekeeper の docker-compose セットアップを使用できます

ローカルの Lakekeeper カタログをセットアップする

Lakekeeper、PostgreSQL のメタデータバックエンド、オブジェクトストレージ用の MinIO を含む一式の環境が用意されている、公式の Lakekeeper docker-compose setup を利用できます。 ステップ 1: サンプルを実行するための新しいフォルダーを作成し、続けて次の設定内容で docker-compose.yml ファイルを作成します。
ステップ 2: 次のコマンドを実行してサービスを起動します。
ステップ 3: すべてのサービスの準備が整うまで待ちます。ログは次のように確認できます:
Lakekeeper のセットアップでは、まず Iceberg テーブルにサンプルデータを読み込んでおく必要があります。ClickHouse 経由でそれらにクエリを実行する前に、環境側でテーブルが作成され、データが投入されていることを確認してください。利用可能なテーブルは、使用している docker-compose の構成とサンプルデータ読み込みスクリプトによって異なります。

ローカルの Lakekeeper カタログに接続する

ClickHouse コンテナーに接続します。
次に、Lakekeeper カタログへのデータベース接続を作成します。

ClickHouse を使用して Lakekeeper カタログのテーブルをクエリする

接続の設定が完了したので、Lakekeeper カタログ経由でクエリを実行できます。たとえば、次のとおりです。
構成にサンプルデータ (タクシーデータセットなど) が含まれている場合は、次のようなテーブルが表示されるはずです。
テーブルがまったく表示されない場合、通常は次のいずれかが原因です。
  1. 環境でまだサンプルテーブルが作成されていない
  2. Lakekeeper カタログサービスがまだ完全に初期化されていない
  3. サンプルデータの読み込み処理が完了していない
テーブル作成の進行状況は、Spark のログで確認できます。
テーブルをクエリするには (利用可能な場合) :
バッククォートが必要ですClickHouse は複数のネームスペースをサポートしていないため、バッククォートが必要です。
テーブルのDDLを確認するには:

データレイクから ClickHouse にデータを読み込む

Lakekeeper カタログから ClickHouse にデータを読み込む必要がある場合は、まずローカルの ClickHouse テーブルを作成します。
次に、INSERT INTO SELECT を使って、Lakekeeper カタログのテーブルからデータを読み込みます。
最終更新日 2026年7月24日