跳转到主要内容
本页提供 ClickHouse 数据湖集成的完整支持矩阵,涵盖各类开放表格式支持的功能、ClickHouse 可连接的目录,以及各类目录所支持的能力。

开放表格式支持

ClickHouse 可与四种开放表格式集成:Apache IcebergDelta LakeApache HudiApache Paimon。请选择下方的一种格式以查看其支持矩阵。 图例: ✅ 支持 | ⚠️ 部分支持 / Experimental | ❌ 不支持
特性状态备注
存储后端
AWS S3通过 icebergS3()iceberg() 别名
GCS通过 icebergS3()iceberg() 别名
Azure Blob 存储通过 icebergAzure()
HDFS⚠️通过 icebergHDFS()。已弃用。
本地文件系统通过 icebergLocal()
访问方式
表函数icebergS3(),针对不同后端提供相应变体
表引擎IcebergS3,针对不同后端提供相应变体
集群分布式读取icebergS3Cluster, icebergAzureCluster, icebergHDFSCluster
命名集合定义命名集合
读取特性
读取支持完整支持 SELECT 以及所有 ClickHouse SQL 函数
分区裁剪参见 分区裁剪
隐式分区支持基于 Iceberg transform 的分区
分区演进支持读取分区规范随时间变化的表
schema 演进支持列的添加、删除和重排序。参见 Schema evolution
类型提升 / 扩展intlong, floatdouble, decimal(P,S)decimal(P',S),其中 P’ > P。参见 Schema evolution
时间旅行 / 快照通过 iceberg_timestamp_msiceberg_snapshot_id 设置。参见 Time travel
位置删除参见 处理已删除行
相等删除仅表引擎支持,自 v25.8+ 起。参见 处理已删除行
Merge-on-read⚠️实验性。支持删除操作
格式版本⚠️支持 v1 和 v2。不支持 v3。
列统计信息
布隆过滤器 / puffin 文件不支持 puffin 文件中的布隆过滤器索引
虚拟列_path, _file, _size, _time, _etag。参见 虚拟列
写入特性
创建表实验性。需要 allow_insert_into_iceberg = 1。自 v25.7+ 起支持。参见 创建表
INSERT自 26.2 起为 Beta。需要 allow_insert_into_iceberg = 1。参见插入数据
DELETEExperimental。需要 allow_insert_into_iceberg = 1。通过 ALTER TABLE ... DELETE WHERE 实现。参见删除数据
ALTER TABLE (schema 变更)Experimental。需要 allow_insert_into_iceberg = 1。支持添加、删除、修改和重命名列。参见Schema 演进
Compaction⚠️Experimental。需要 allow_experimental_iceberg_compaction = 1。将位置删除文件合并整理到数据文件中。参见Compaction。不支持其他 Iceberg 合并整理操作。
UPDATE / MERGE不支持。参见 Compaction。
Copy-on-write不支持
Expire snapshots不支持
Remove orphan files不支持
写入分区支持。
修改分区不支持从 ClickHouse 更改分区方案。ClickHouse 可以向分区方案已演进的 Iceberg 表写入。
元数据
分支与标签不支持 Iceberg 分支/标签引用
元数据文件解析支持通过目录、简单目录列表、version-hint 和特定路径来解析元数据。可通过 iceberg_metadata_file_pathiceberg_metadata_table_uuid 配置。参见元数据文件解析
数据缓存与 S3/Azure/HDFS 存储引擎采用相同机制。参见数据缓存
元数据缓存manifest 和元数据文件会缓存在内存中。默认通过 use_iceberg_metadata_files_cache 启用。参见元数据缓存

目录支持

ClickHouse 可以使用 DataLakeCatalog 数据库引擎连接外部数据目录,并将该目录映射为一个 ClickHouse 数据库。注册在目录中的表会自动显示出来,并可使用标准 SQL 查询。 当前支持以下目录。有关完整的设置说明,请参阅各目录的参考指南。
目录格式读取创建表INSERT参考指南
AWS Glue CatalogIceberg✅ BetaGlue 目录 指南
BigLake MetastoreIceberg✅ BetaBigLake Metastore 指南
Databricks Unity CatalogDelta, Iceberg✅ Beta✅ Beta✅ BetaUnity Catalog 指南
Iceberg RESTIceberg✅ BetaREST 目录 指南
LakekeeperIceberg✅ BetaLakekeeper 目录 指南
Project NessieIceberg✅ ExperimentalNessie 目录 指南
Microsoft OneLakeIceberg✅ Beta✅ Beta✅ BetaOneLake 目录 指南
目前所有目录集成都需要启用 Experimental 或 Beta 设置。除 Microsoft OneLake 和 Databricks Unity Catalog 外,所有目录都仅提供 read-only 访问——可以查询表,但不能通过目录连接创建表或写入数据。若要将目录中的数据加载到 ClickHouse 以加快分析速度,请使用加速分析指南中所述的 INSERT INTO SELECT。若要将数据写回开放表格式,请按写入数据指南中的说明创建独立的 Iceberg 表。
最后修改于 2026年6月10日