Unity Catalog
Unity Catalogとの統合は、管理されたテーブルと外部テーブルの両方で機能します。この統合は、現在AWSでのみサポートされています。
ClickHouseは、複数のカタログ(Unity、Glue、Polarisなど)との統合をサポートしています。このガイドでは、ClickHouseを使用してDatabricksによって管理されているデータをクエリし、Unity Catalogを利用する手順を説明します。
Databricksは、彼らのレイクハウスに対して複数のデータフォーマットをサポートしています。ClickHouseを使用すると、Unity Catalogテーブルに対してDeltaとIcebergの両方でクエリを実行できます。
DatabricksでのUnityの設定
ClickHouseがUnityカタログと対話できるようにするには、Unity Catalogが外部リーダーとの対話を許可するように設定されていることを確認する必要があります。これは、 "Enable external data access to Unity Catalog"ガイドに従うことで実現できます。
外部アクセスを有効にするだけでなく、統合を設定する担当者が、テーブルを含むスキーマに対して EXTERNAL USE SCHEMA
の特権を持っていることを確認してください。
カタログの設定が完了したら、ClickHouseのための資格情報を生成する必要があります。Unityとの対話モードに応じて、2つの異なる方法を使用できます。
Unity CatalogとClickHouseの接続を作成する
Unityカタログが設定され、認証が整ったら、ClickHouseとUnityカタログの間に接続を確立します。
Deltaの読み取り
Icebergの読み取り
ClickHouseを使用したUnityカタログテーブルのクエリ
接続が確立されたので、Unityカタログを介してクエリを開始できます。例えば:
Icebergクライアントを使用している場合、Uniformが有効になっているDeltaテーブルのみが表示されます:
テーブルをクエリするには:
バックティックが必要です。ClickHouseは複数のネームスペースをサポートしていません。
テーブルのDDLを確認するには:
データレイクからClickHouseへのデータのロード
DatabricksからClickHouseにデータをロードする必要がある場合は、まずローカルのClickHouseテーブルを作成します:
次に、INSERT INTO SELECT
を介してUnity Catalogテーブルからデータをロードします: