BigLake Metastore
Beta feature. Learn more.
ClickHouse 支持与多个目录(Unity、Glue、Polaris 等)集成。本指南将逐步介绍如何通过 ClickHouse 查询 BigLake Metastore 中的 Iceberg 表。
注意
由于该功能目前处于 beta 阶段,因此你需要使用以下命令启用它:
SET allow_database_iceberg = 1;
先决条件
在创建从 ClickHouse 到 BigLake Metastore 的连接之前,请确保您具备:
- 已启用 BigLake Metastore 的 Google Cloud 项目
- 某个应用的 应用默认凭据 (OAuth 客户端 ID 和客户端密钥) ,通过 Google Cloud Console 创建
- 通过使用适当作用域完成 OAuth 流程获取的 refresh token (例如
https://www.googleapis.com/auth/bigquery以及用于 GCS 的存储作用域) - 一个 warehouse 路径:存储表的 GCS 存储桶 (以及可选前缀) ,例如
gs://your-bucket或gs://your-bucket/prefix
在 BigLake Metastore 与 ClickHouse 之间创建
在配置好 OAuth 凭据后,在 ClickHouse 中创建一个使用 DataLakeCatalog 数据库引擎的数据库:
使用 ClickHouse 查询 BigLake Metastore 中的表
创建连接后,您可以查询已注册到 BigLake Metastore 的表。
示例输出:
必须使用反引号
必须使用反引号,因为 ClickHouse 不支持一个以上的命名空间。
要查看表定义:
将数据从 BigLake 加载到 ClickHouse
要将 BigLake Metastore 表中的数据加载到本地 ClickHouse 表中,以加快重复查询的速度,请创建一个 MergeTree 表,并从目录中插入数据:
初始加载完成后,查询 clickhouse_table 以降低延迟。需要时,重新运行 INSERT INTO ... SELECT,从 BigLake 刷新数据。