| 存储后端 | | | |
| AWS S3 | ✅ | ✅ | 通过 icebergS3() 或其别名 iceberg() |
| GCS | ✅ | ✅ | 通过 icebergS3() 或其别名 iceberg() |
| Azure Blob 存储 | ✅ | ✅ | 通过 icebergAzure() |
| HDFS | ❌ | ⚠️ 已弃用 | 通过 icebergHDFS() |
| 本地文件系统 | ❌ | ✅ | 通过 icebergLocal() |
| 访问方式 | | | |
| 表函数 | ✅ | ✅ | icebergS3(),各后端均有对应变体 |
| 表引擎 | ✅ | ✅ | IcebergS3,各后端均有对应变体 |
| 集群分布式读取 | ✅ | ✅ | icebergS3Cluster、icebergAzureCluster、icebergHDFSCluster |
| 命名集合 | | ✅ | 部分 ClickHouse Cloud 服务可启用通过 DDL 创建的命名集合。请联系 Support 确认可用性。 |
| | | |
| 读取功能 | | | |
| 读取支持 | ✅ | ✅ | 完整支持 SELECT 及所有 ClickHouse SQL 函数 |
| 分区裁剪 | ✅ | ✅ | 请参阅分区裁剪。 |
| 隐藏分区 | ✅ | ✅ | 支持基于 Iceberg transform 的分区 |
| 分区演进 | ✅ | ✅ | 支持读取分区规范随时间变化的表 |
| schema 演进 | ✅ | ✅ | 支持添加、删除和重新排列列。请参阅schema 演进。 |
| 类型提升 / 扩展 | ✅ | ✅ | int → long、float → double、decimal(P,S) → decimal(P',S),其中 P’ > P。请参阅schema 演进。 |
| 时间旅行 / 快照 | ✅ | ✅ | 通过 iceberg_timestamp_ms 或 iceberg_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 = 1 和 allow_experimental_expire_snapshots = 1。请参阅快照过期。 |
| 移除孤立文件 | | ⚠️ | Experimental。需要 Iceberg v2 或更高版本、allow_insert_into_iceberg = 1 和 allow_iceberg_remove_orphan_files = 1。请参阅移除孤立文件。 |
| 写入分区 | ✅ Beta | ✅ Beta | 支持写入 Iceberg。 |
| 修改分区 | ❌ | ❌ | 不支持通过 ClickHouse 更改分区方案。ClickHouse 可以写入采用演进后分区方案的 Iceberg 表。 |
| | | |
| 元数据 | | | |
| 分支和标签 | ❌ | ❌ | 不支持 Iceberg 分支/标签引用。 |
| 元数据文件解析 | ✅ | ✅ | 支持通过目录、目录列表、version-hint 和特定路径进行解析。请参阅元数据文件解析。 |
| 数据缓存 | ✅ | ✅ | 与 S3/Azure/HDFS 存储引擎使用相同的机制。请参阅数据缓存。 |
| 元数据缓存 | ✅ | ✅ | 默认通过 use_iceberg_metadata_files_cache 启用。请参阅元数据缓存。 |