Skip to main content
Skip to main content

Support matrix

This page provides comprehensive support matrices for ClickHouse's data lake integrations. It covers the features available for each open table format, the catalogs ClickHouse can connect to, and the capabilities supported by each catalog.

Open table format support​

ClickHouse integrates with four open table formats: Apache Iceberg, Delta Lake, Apache Hudi, and Apache Paimon. Select a format below to view its support matrix.

Legend: ✅ Supported | ⚠️ Partial / Experimental | ❌ Not supported

FeatureStatusNotes
Storage backends
AWS S3✅Via icebergS3() or iceberg() alias
GCS✅Via icebergS3() or iceberg() alias
Azure Blob Storage✅Via icebergAzure()
HDFS⚠️Via icebergHDFS(). Deprecated.
Local filesystem✅Via icebergLocal()
Access methods
Table function✅icebergS3() with variants per backend
Table engine✅IcebergS3 with variants per backend
Cluster-distributed reads✅icebergS3Cluster, icebergAzureCluster, icebergHDFSCluster
Named collections✅Defining a named collection
Read features
Read support✅Full SELECT support with all ClickHouse SQL functions
Partition pruning✅See Partition pruning.
Hidden partitioning✅Iceberg transform-based partitioning supported
Partition evolution✅Reading tables with changing partition specs over time supported
Schema evolution✅Column addition, removal, and reordering. See Schema evolution.
Type promotion / widening✅int → long, float → double, decimal(P,S) → decimal(P',S) where P' > P. See Schema evolution.
Time travel / snapshots✅Via iceberg_timestamp_ms or iceberg_snapshot_id settings. See Time travel.
Position deletes✅See Processing deleted rows.
Equality deletes✅Table engine only, from v25.8+. See Processing deleted rows.
Merge-on-read⚠️Experimental. Supported for delete operations.
Format versions⚠️v1 and v2 supported. V3 not supported.
Column statistics✅
Bloom filters / puffin files❌Bloom filter indexes in puffin files not supported
Virtual columns✅_path, _file, _size, _time, _etag. See Virtual columns.
Write features
Table creation✅Experimental. Requires allow_insert_into_iceberg = 1. From v25.7+. See Creating a table.
INSERT✅Beta from 26.2. Requires allow_insert_into_iceberg = 1. See Inserting data.
DELETE✅Experimental. Requires allow_insert_into_iceberg = 1. Via ALTER TABLE ... DELETE WHERE. See Deleting data.
ALTER TABLE (schema changes)✅Experimental. Requires allow_insert_into_iceberg = 1. Add, drop, modify, rename columns. See Schema evolution.
Compaction⚠️Experimental. Requires allow_experimental_iceberg_compaction = 1. Merges position delete files into data files. See Compaction. Other Iceberg compaction operations not supported.
UPDATE / MERGE❌Not supported. See Compaction.
Copy-on-write❌Not supported
Expire snapshots❌Not supported
Remove orphan files❌Not supported
Writing partitions✅Supported.
Altering partitions❌The changing of the partitioning scheme from ClickHouse is not supported. ClickHouse can write to iceberg tables which have an evolved partitioning.
Metadata
Branching and tagging❌Iceberg branch/tag references not supported
Metadata file resolution✅Support for metadata resolution through catalogs, simple directory listing, using 'version-hint' and specific path. Configurable via iceberg_metadata_file_path and iceberg_metadata_table_uuid. See Metadata file resolution.
Data caching✅Same mechanism as S3/Azure/HDFS storage engines. See Data cache.
Metadata caching✅Manifest and metadata files cached in memory. Enabled by default via use_iceberg_metadata_files_cache. See Metadata cache.

Catalog support​

ClickHouse can connect to external data catalogs using the DataLakeCatalog database engine, which exposes the catalog as a ClickHouse database. Tables registered in the catalog appear automatically and can be queried with standard SQL.

The following catalogs are currently supported. Refer to each catalog's reference guide for full setup instructions.

CatalogFormatsReadCreate tableINSERTReference guide
AWS Glue CatalogIceberg✅ Beta❌❌Glue catalog guide
BigLake MetastoreIceberg✅ Beta❌❌BigLake Metastore guide
Databricks Unity CatalogDelta, Iceberg✅ Beta❌❌Unity Catalog guide
Iceberg RESTIceberg✅ Beta❌❌REST catalog guide
LakekeeperIceberg✅ Beta❌❌Lakekeeper catalog guide
Project NessieIceberg✅ Experimental❌❌Nessie catalog guide
Microsoft OneLakeIceberg✅ Beta❌❌OneLake catalog guide

All catalog integrations currently require an experimental or beta setting to be enabled and expose read-only access — tables can be queried but not created or written to through the catalog connection. To load data from a catalog into ClickHouse for faster analytics, use INSERT INTO SELECT as described in the accelerating analytics guide. To write data back to open table formats, create standalone Iceberg tables as described in the writing data guide.