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 配置为允许与外部读取器进行交互。这可以通过按照 “启用对 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 表加载数据: