Server、local 或 chDB本指南中的步骤可以通过现有的 ClickHouse server 安装来执行。对于即席查询,你也可以改用 clickhouse-local,无需运行 server 即可完成相同的工作流。稍作调整后,也可以使用 ClickHouse 的进程内发行版 chDB 完成这一过程。
- Apache Iceberg
- Delta Lake
- Apache Hudi
- Apache Paimon
iceberg 表函数 (icebergS3 的别名) 可直接从对象存储中读取 Iceberg 表。针对每种存储后端,均有对应的变体:icebergS3、icebergAzure、icebergHDFS 和 icebergLocal。示例语法:GCS 支持这些函数的 S3 版本也可用于 Google Cloud Storage (GCS)。
集群 Variant
icebergS3Cluster 函数可将读取操作分布到 ClickHouse 集群中的多个节点上。发起节点与所有节点建立连接,并动态分发数据文件。每个工作线程节点按需请求并处理任务,直至所有文件读取完毕。icebergCluster 是 icebergS3Cluster 的别名。此外,Azure (icebergAzureCluster) 和 HDFS (icebergHDFSCluster) 也有对应的变体版本。示例语法:表引擎
除了在每次查询中使用表函数外,您也可以使用Iceberg 表引擎 创建持久化表。数据仍存储在对象存储中,按需读取,不会复制到 ClickHouse 中。其优势在于,表定义保存在 ClickHouse 中,可在用户和会话之间共享,无需每个用户单独指定存储路径和凭据。每种存储后端均有对应的引擎变体:IcebergS3 (或 Iceberg 别名) 、IcebergAzure、IcebergHDFS 和 IcebergLocal。表引擎和表函数均支持数据缓存,其缓存机制与 S3、AzureBlobStorage 和 HDFS 存储引擎相同。此外,metadata cache 会将 manifest 文件信息存储在内存中,以减少对 Iceberg 元数据的重复读取。该缓存默认通过 use_iceberg_metadata_files_cache 设置启用。示例语法:表引擎 Iceberg 是 IcebergS3 的别名。GCS 支持该表引擎的 S3 变体可用于 Google Cloud Storage (GCS)。
iceberg 表函数和 Iceberg 表引擎文档。