- 卸载到长期存储 - 数据进入 ClickHouse 后,作为实时分析层为仪表盘和运营报表提供支持。一旦数据超出实时分析窗口,就可以将其写入对象存储中的 Iceberg,以互操作格式实现持久、低成本的长期保留。
- 反向 ETL - 在 ClickHouse 内执行的转换、聚合和富集会生成派生数据集,供下游工具和其他团队使用。将这些结果写入 Iceberg 表后,它们就能在更广泛的数据生态系统中使用。
INSERT INTO SELECT 都可以让您将数据从 ClickHouse 表移动到存储在对象存储中的 Iceberg 表。
目前,写入开放表格式仅支持 Iceberg 表。对 Delta Lake 表的部分支持仍在开发中。表不能由 catalog 管理。
准备源数据集
创建并向 MergeTree 表写入数据
向 Iceberg 表写入数据
创建 Iceberg 表
IcebergS3 表引擎创建表。
请注意,与 MergeTree 源表相比,schema 必须适当简化。ClickHouse 支持的类型系统比 Iceberg 及其底层 Parquet 文件更丰富,因此 Enum、LowCardinality 和 UInt8 等类型在 Iceberg 中不受支持,必须映射为兼容类型。
插入部分数据
INSERT INTO SELECT 将数据从 MergeTree 表写入 Iceberg 表。在此示例中,我们只写入伦敦的事务: