Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

支持矩阵

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

ClickHouse Cloud 和自管理 ClickHouse 的支持情况将分别列出。Experimental 功能在 ClickHouse Cloud 中默认处于禁用状态,且必须通过 Support 申请。是否可用取决于具体功能,因此请联系 Support 确认能否启用特定的 Experimental 功能。特定部署的配置和限制将在 Notes 列中说明。

开放表格式支持

ClickHouse 可与四种开放表格式集成:Apache IcebergDelta LakeApache HudiApache Paimon。请选择下方的一种格式以查看其支持矩阵。

图例: ✅ 支持 | ⚠️ 部分支持、Experimental 或已弃用 | ❌ 不支持

功能 ClickHouse Cloud 自管理 说明
存储后端
AWS S3 通过 icebergS3() 或其别名 iceberg()
GCS 通过 icebergS3() 或其别名 iceberg()
Azure Blob 存储 通过 icebergAzure()
HDFS ⚠️ 已弃用 通过 icebergHDFS()
本地文件系统 通过 icebergLocal()
访问方式
表函数 icebergS3(),各后端均有对应变体
表引擎 IcebergS3,各后端均有对应变体
集群分布式读取 icebergS3ClustericebergAzureClustericebergHDFSCluster
命名集合 ⚠️ 部分 ClickHouse Cloud 服务可启用通过 DDL 创建的命名集合。请联系 Support 确认可用性。
读取功能
读取支持 完整支持 SELECT 及所有 ClickHouse SQL 函数
分区裁剪 请参阅分区裁剪
隐藏分区 支持基于 Iceberg transform 的分区
分区演进 支持读取分区规范随时间变化的表
schema 演进 支持添加、删除和重新排列列。请参阅schema 演进
类型提升 / 扩展 intlongfloatdoubledecimal(P,S)decimal(P',S),其中 P' > P。请参阅schema 演进
时间旅行 / 快照 通过 iceberg_timestamp_msiceberg_snapshot_id 设置。请参阅时间旅行
位置删除 请参阅处理已删除行
相等删除 表函数和表引擎自 v25.8+ 起支持。请参阅处理已删除行
读取时合并 ⚠️ ⚠️ 实验性功能。支持删除操作
格式版本 ⚠️ 部分支持 ⚠️ 部分支持 支持 v1 和 v2。部分支持 v3;不支持删除向量和清单压缩。
列统计信息
布隆过滤器 / Puffin 文件 不支持 Puffin 文件中的布隆过滤器索引
虚拟列 _path_file_size_time_etag。请参阅虚拟列
写入功能
表创建 ⚠️ ⚠️ 实验性功能。需要 allow_insert_into_iceberg = 1。自 v25.7+ 起支持。请参阅创建表
INSERT ✅ Beta ✅ Beta 自 26.2 版本起处于 Beta 阶段。需要 allow_insert_into_iceberg = 1。请参阅插入数据
DELETE ⚠️ ⚠️ Experimental。需要 allow_insert_into_iceberg = 1。通过 ALTER TABLE ... DELETE WHERE 执行。请参阅删除数据
ALTER TABLE (schema 变更) ⚠️ ⚠️ Experimental。需要 allow_insert_into_iceberg = 1。支持添加、删除、修改和重命名列。请参阅Schema 演进
合并整理 ⚠️ ⚠️ Experimental。需要 allow_experimental_iceberg_compaction = 1。请参阅合并整理
UPDATE / MERGE 不支持。请参阅合并整理。
写时复制 不支持
快照过期 ⚠️ ⚠️ Experimental。需要 Iceberg v2、allow_insert_into_iceberg = 1allow_experimental_expire_snapshots = 1。请参阅快照过期
移除孤立文件 ⚠️ ⚠️ Experimental。需要 Iceberg v2 或更高版本、allow_insert_into_iceberg = 1allow_iceberg_remove_orphan_files = 1。请参阅移除孤立文件
写入分区 ✅ Beta ✅ Beta 支持写入 Iceberg。
修改分区 不支持通过 ClickHouse 更改分区方案。ClickHouse 可以写入采用演进后分区方案的 Iceberg 表。
元数据
分支和标签 不支持 Iceberg 分支/标签引用。
元数据文件解析 支持通过目录、目录列表、version-hint 和特定路径进行解析。请参阅元数据文件解析
数据缓存 与 S3/Azure/HDFS 存储引擎使用相同的机制。请参阅数据缓存
元数据缓存 默认通过 use_iceberg_metadata_files_cache 启用。请参阅元数据缓存

目录支持

ClickHouse 可以使用 DataLakeCatalog 数据库引擎连接外部数据目录,并将该目录映射为一个 ClickHouse 数据库。注册在目录中的表会自动显示出来,并可使用标准 SQL 查询。

当前支持以下目录。有关完整的设置说明,请参阅各目录的参考指南。

目录 格式 读取 创建表 INSERT 参考指南
AWS Glue Catalog Iceberg ✅ Beta Glue 目录 指南
BigLake Metastore Iceberg ✅ Beta BigLake Metastore 指南
Databricks Unity Catalog Delta, Iceberg ✅ Beta ✅ Beta ✅ Beta Unity Catalog 指南
Iceberg REST Iceberg ✅ Beta REST 目录 指南
Lakekeeper Iceberg ✅ Beta Lakekeeper 目录 指南
Project Nessie Iceberg ✅ Experimental Nessie 目录 指南
Microsoft OneLake Iceberg ✅ Beta ✅ Beta ✅ Beta OneLake 目录 指南
SeaweedFS Iceberg ✅ Beta ✅ Beta ✅ Beta SeaweedFS 目录 指南

目前所有目录集成都需要启用 Experimental 或 Beta 设置。除 Microsoft OneLake、Databricks Unity Catalog 和 SeaweedFS 外,所有目录都仅提供 read-only 访问——可以查询表,但不能通过目录连接创建表或写入数据。若要将目录中的数据加载到 ClickHouse 以加快分析速度,请使用加速分析指南中所述的 INSERT INTO SELECT。若要将数据写回开放表格式,请按写入数据指南中的说明创建独立的 Iceberg 表。

Navigation