Unity Catalog
与 Unity Catalog 的集成适用于管理表和外部表。 此集成当前仅支持 AWS。
ClickHouse 支持与多个目录(如 Unity、Glue、Polaris 等)的集成。本指南将引导您通过 ClickHouse 查询由 Databricks 管理的数据以及 Unity Catalog。
Databricks 支持其数据湖屋的多种数据格式。使用 ClickHouse,您可以将 Unity Catalog 表作为 Delta 和 Iceberg 进行查询。
由于此功能处于实验阶段,您需要使用以下命令启用它:
SET allow_experimental_database_unity_catalog = 1;
在 Databricks 中配置 Unity
为了让 ClickHouse 与 Unity Catalog 进行交互,您需要确保 Unity Catalog 已配置为允许外部读取器进行交互。这可以通过遵循 “启用对 Unity Catalog 的外部数据访问” 指南来实现。
除了启用外部访问外,还需要确保配置集成的主体在包含表的模式上具有 EXTERNAL USE SCHEMA
权限。
一旦您的目录配置完成,您必须为 ClickHouse 生成凭证。可以根据与 Unity 的交互模式使用两种不同的方法:
在 Unity Catalog 和 ClickHouse 之间创建连接
在配置好 Unity Catalog 并完成身份验证后,建立 ClickHouse 与 Unity Catalog 之间的连接。
读取 Delta
读取 Iceberg
使用 ClickHouse 查询 Unity Catalog 表
现在连接已建立,您可以开始通过 Unity Catalog 进行查询。例如:
如果您使用的是 Iceberg 客户端,则仅会显示启用 Uniform 的 Delta 表:
要查询一个表:
反引号是必需的,因为 ClickHouse 不支持多个命名空间。
要检查表的 DDL:
从您的数据湖加载数据到 ClickHouse
如果您需要从 Databricks 加载数据到 ClickHouse,请首先创建一个本地 ClickHouse 表:
然后通过 INSERT INTO SELECT
从您的 Unity Catalog 表加载数据: