Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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.

Support is shown separately for ClickHouse Cloud and self-managed ClickHouse. Experimental features are disabled by default in ClickHouse Cloud and must be requested through Support. Availability is feature-dependent, so contact Support to confirm whether a specific experimental feature can be enabled. Deployment-specific configuration and limitations are described in the Notes column.

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, or deprecated | ❌ Not supported

Feature ClickHouse Cloud Self-managed Notes
Storage backends
AWS S3 Via icebergS3() or iceberg() alias
GCS Via icebergS3() or iceberg() alias
Azure Blob Storage Via icebergAzure()
HDFS ⚠️ Deprecated Via icebergHDFS()
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 ⚠️ DDL-created named collections can be enabled on select ClickHouse Cloud services. Contact Support to confirm availability.
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 intlong, floatdouble, 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 functions and table engines, from v25.8+. See Processing deleted rows.
Merge-on-read ⚠️ ⚠️ Experimental. Supported for delete operations.
Format versions ⚠️ Partial ⚠️ Partial v1 and v2 are supported. V3 support is partial; deletion vectors and manifest compaction aren’t supported.
Column statistics
Bloom filters / puffin files Bloom filter indexes in Puffin files aren’t 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 ✅ Beta 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. See Compaction.
UPDATE / MERGE Not supported. See Compaction.
Copy-on-write Not supported
Expire snapshots ⚠️ ⚠️ Experimental. Requires Iceberg v2, allow_insert_into_iceberg = 1, and allow_experimental_expire_snapshots = 1. See Expire snapshots.
Remove orphan files ⚠️ ⚠️ Experimental. Requires Iceberg v2 or higher, allow_insert_into_iceberg = 1, and allow_iceberg_remove_orphan_files = 1. See Remove orphan files.
Writing partitions ✅ Beta ✅ Beta Supported for Iceberg writes.
Altering partitions Changing the partitioning scheme from ClickHouse isn’t supported. ClickHouse can write to Iceberg tables with an evolved partitioning scheme.
Metadata
Branching and tagging Iceberg branch/tag references aren’t supported
Metadata file resolution Supports resolution through catalogs, directory listing, version-hint, and a specific path. See Metadata file resolution.
Data caching Same mechanism as S3/Azure/HDFS storage engines. See Data cache.
Metadata caching Enabled by default via use_iceberg_metadata_files_cache. See Metadata cache.

From version 25.6, ClickHouse reads Delta Lake tables using the Delta Lake Rust kernel, providing broader feature support; however, known issues occur when accessing data in Azure Blob Storage. For this reason the Kernel is disabled when reading data on Azure Blob Storage. We indicate below which features require this kernel.

Feature ClickHouse Cloud Self-managed Notes
Storage backends
AWS S3 Via deltaLake() or deltaLakeS3()
GCS Via deltaLake() or deltaLakeS3()
Azure Blob Storage Via deltaLakeAzure()
HDFS Not supported
Local filesystem Via deltaLakeLocal()
Access methods
Table function deltaLake() with variants per backend
Table engine DeltaLake
Cluster-distributed reads deltaLakeCluster, deltaLakeAzureCluster
Named collections ⚠️ DDL-created named collections can be enabled on select ClickHouse Cloud services. Contact Support to confirm availability.
Read features
Read support Full SELECT support with all ClickHouse SQL functions
Partition pruning ✅ Beta ✅ Beta Requires the Delta Kernel.
Schema evolution ✅ Beta ✅ Beta Requires the Delta Kernel.
Time travel ✅ Beta ✅ Beta Requires the Delta Kernel.
Deletion vectors
Column mapping
Change data feed ✅ Beta ✅ Beta Requires the Delta Kernel.
Virtual columns _path, _file, _size, _time, _etag. See Virtual columns.
Write features
INSERT ✅ Beta ✅ Beta Requires the Delta Kernel. Writes are supported for S3 and GCS; Azure writes aren’t supported. Requires allow_delta_lake_writes = 1 from v26.7; on earlier versions, use allow_experimental_delta_lake_writes = 1. See Delta Lake writes.
DELETE / UPDATE / MERGE Not supported
Create empty table The CREATE TABLE operation assumes that the Delta Lake table already exists on object storage.
Caching
Data caching Same mechanism as S3/Azure/HDFS storage engines. See Data cache.
Feature ClickHouse Cloud Self-managed Notes
Storage backends
AWS S3 Via hudi()
GCS Via hudi()
Azure Blob Storage Not supported
HDFS Not supported
Local filesystem Not supported
Access methods
Table function hudi()
Table engine Hudi
Cluster-distributed reads hudiCluster (S3 only)
Named collections ⚠️ DDL-created named collections can be enabled on select ClickHouse Cloud services. Contact Support to confirm availability.
Read features
Read support Full SELECT support with all ClickHouse SQL functions
Schema evolution Not supported
Time travel Not supported
Virtual columns _path, _file, _size, _time, _etag. See Virtual columns.
Write features
INSERT / DELETE / UPDATE Read-only integration
Caching
Data caching Not supported
Feature ClickHouse Cloud Self-managed Notes
Storage backends
S3 ⚠️ ⚠️ Experimental. Via paimon() or paimonS3()
GCS ⚠️ ⚠️ Experimental. Via paimon() or paimonS3()
Azure Blob Storage ⚠️ ⚠️ Experimental. Via paimonAzure()
HDFS ⚠️ Experimental and deprecated. Via paimonHDFS()
Local filesystem ⚠️ Experimental. Via paimonLocal()
Access methods
Table function ⚠️ ⚠️ Experimental. paimon() with variants per backend
Table engine ⚠️ ⚠️ Experimental. Paimon with variants per backend. Requires allow_experimental_paimon_storage_engine = 1.
Cluster-distributed reads ⚠️ ⚠️ Experimental. paimonS3Cluster, paimonAzureCluster, paimonHDFSCluster
Named collections ⚠️ ⚠️ Experimental. DDL-created named collections can be enabled on select ClickHouse Cloud services. Contact Support to confirm availability.
Read features
Read support ⚠️ ⚠️ Experimental. Full SELECT support with all ClickHouse SQL functions
Schema evolution Not supported
Time travel Not supported
Virtual columns ⚠️ ⚠️ Experimental. _path, _file, _size, _time, _etag. See Virtual columns.
Write features
INSERT / DELETE / UPDATE Read-only integration
Caching
Data caching Not supported

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.

Catalog Formats Read Create table INSERT Reference guide
AWS Glue Catalog Iceberg ✅ Beta Glue catalog guide
BigLake Metastore Iceberg ✅ Beta BigLake Metastore guide
Databricks Unity Catalog Delta, Iceberg ✅ Beta ✅ Beta ✅ Beta Unity Catalog guide
Iceberg REST Iceberg ✅ Beta REST catalog guide
Lakekeeper Iceberg ✅ Beta Lakekeeper catalog guide
Project Nessie Iceberg ✅ Experimental Nessie catalog guide
Microsoft OneLake Iceberg ✅ Beta ✅ Beta ✅ Beta OneLake catalog guide
SeaweedFS Iceberg ✅ Beta ✅ Beta ✅ Beta SeaweedFS catalog guide

All catalog integrations currently require an experimental or beta setting to be enabled. With the exception of Microsoft OneLake, Databricks Unity Catalog, and SeaweedFS, all catalogs 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.

Navigation