跳到主要内容
跳到主要内容

Unity Catalog

Experimental feature. Learn more.
备注

与 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 的交互模式,可以使用两种不同的方法:

  • 对于 Iceberg 客户端,使用作为 服务主体 的身份验证。

  • 对于 Delta 客户端,使用个人访问令牌 (PAT)。

在 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 表加载数据: