Skip to main content

ClickHouse and Apache Iceberg: OLake Go guides

ClickHouse reads Iceberg tables in place through its DataLakeCatalog database engine. You can query the copied data with no insert job.

Short answer. To query a replicated database in ClickHouse, run OLake Go with a catalog ClickHouse reads, such as Polaris, Lakekeeper or AWS Glue. Then create a DataLakeCatalog database for it. Add ClickHouse as a target query engine and OLake Go writes positional deletes, because the ClickHouse 26.8 long-term support (LTS) release does not read deletion vectors.

Key takeaways

  • ClickHouse queries Iceberg tables in place through a DataLakeCatalog database, with no insert job.
  • With ClickHouse as a target query engine, OLake Go writes positional deletes, which the 26.8 LTS release reads.
  • Six guides ran end to end on Polaris, with Trino and DuckDB reading the same tables.

Last reviewed October 2026.

How OLake Go gets data into ClickHouse​

OLake Go uses change data capture (CDC) where the source has it and commits Iceberg tables to the catalog. ClickHouse reads Polaris and Lakekeeper as REST (representational state transfer) catalogs. Glue, Horizon and Unity Catalog have their own catalog types.

The six guides below ran end to end on Polaris, with Trino and DuckDB reading the same tables. The ClickHouse lakehouse post is a longer walkthrough.

When to use it​

  • ClickHouse should query live database tables without a second copy.
  • You want CDC from Postgres, MySQL or MongoDB into ClickHouse.

When not to use it​

  • You need deletion vectors on the 26.8 LTS release. Reads were merged for 26.10.
  • You use a JDBC catalog. ClickHouse has no JDBC catalog support.

Catalogs ClickHouse reads

CatalogClickHouse readsHow
AWS GlueYesDataLakeCatalog with catalog_type glue (beta)
Apache PolarisYesDataLakeCatalog with catalog_type rest
LakekeeperYesDataLakeCatalog with catalog_type rest
Snowflake HorizonYesDataLakeCatalog with catalog_type horizon
Unity CatalogYesDataLakeCatalog with catalog_type unity (external locations only)
NessieYesDataLakeCatalog with catalog_type rest
Hive MetastorePartialexperimental hive catalog
JDBCNono JDBC catalog support

Delete formats ClickHouse reads

Equality deletes (v2)Positional deletes (v2)Deletion vectors (v3)
YesYesNo

ClickHouse reads position deletes, and equality deletes from 25.8. Deletion vector reads were merged for 26.10 (PR 110781); the 26.8 LTS release does not read them. Set ClickHouse as a target query engine on the OLake Go job and OLake Go picks a format it reads; with ClickHouse as the only reader that is positional deletes (v2).

Sources: ClickHouse: Iceberg table engine (checked 2026-10-12); ClickHouse PR 110781 (deletion vectors) (checked 2026-10-12).

Tested guides for ClickHouse

Guides where ClickHouse reads the same tables

These pages show ClickHouse reading the same tables through the same catalog, in their cross-engine section. No second copy of the data is made.

Frequently asked questions​

Which ClickHouse version reads equality deletes?

ClickHouse 25.8 and later. Positional deletes work on earlier releases too.

Does ClickHouse read Iceberg deletion vectors?

Reads were merged for 26.10 (pull request 110781). The 26.8 LTS release does not read them.

Does the AWS Glue catalog work in ClickHouse?

Yes, as DataLakeCatalog with catalog_type glue, which ClickHouse marks beta.