メインコンテンツへスキップ
ClickHouse は、複数のカタログ (Unity、Glue、Polaris など) とのインテグレーションをサポートしています。このガイドでは、ClickHouse と Unity Catalog を使用して、Databricks で管理されているデータをクエリする手順を説明します。 Databricks は、その lakehouse で複数のデータフォーマットをサポートしています。ClickHouse を使用すると、Unity Catalog のテーブルを Delta と Iceberg の両方の形式でクエリできます。
この機能は実験的であるため、以下を使用して有効にする必要があります。 SET allow_experimental_database_unity_catalog = 1;

Databricks で Unity を設定する

ClickHouse が Unity Catalog と連携できるようにするには、外部リーダーによるアクセスを許可するよう Unity Catalog が設定されていることを確認する必要があります。これを行うには、「Unity Catalog への外部データアクセスを有効にする」ガイドに従ってください。 カタログの設定が完了したら、ClickHouse 用の認証情報を生成する必要があります。Unity との連携方法に応じて、使用する方法は 2 つあります。
  • Iceberg クライアントの場合は、サービスプリンシパルとして認証を使用します。
  • Delta クライアントの場合は、Personal Access Token (PAT) を使用します。

必要な PAT トークンの権限

読み取りアクセスに PAT を使用する場合、トークンには ClickHouse が Unity Catalog のメタデータを一覧取得および読み取りできる権限が必要です。PAT には少なくとも、EXTERNAL USE SCHEMA権限に加え、テーブルに対する SELECT 権限、親カタログに対する USE CATALOG、および親スキーマに対する USE SCHEMA が付与されていることを確認してください。

Unity Catalog と ClickHouse 間の接続を作成する

Unity Catalog の設定と認証の準備が完了したら、ClickHouse と Unity Catalog 間の接続を確立します。

Deltaを読み取る

Iceberg を読み取る

管理対象の Iceberg テーブルにアクセスするには:

ClickHouse を使用して Unity Catalog のテーブルをクエリする

接続の準備ができたので、Unity Catalog 経由でクエリを実行できます。たとえば、次のようになります。
テーブルに対してクエリを実行するには:
バッククォートが必要ClickHouse は複数のネームスペースをサポートしていないため、バッククォートが必要です。
テーブルの DDL を確認するには:

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

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