Integration with the Nessie Catalog works with Iceberg tables only.
This integration supports both AWS S3 and other cloud storage providers.
- Git-inspired data version control with branches and commits
- Cross-table transactions and visibility guarantees
- REST API compliance with the Iceberg REST catalog specification
- Open data lake approach supporting Hive, Spark, Dremio, Trino, and more
- Production-ready deployment on Docker or Kubernetes
As this feature is experimental, you will need to enable it using:
SET allow_experimental_database_iceberg = 1;Local Development Setup
For local development and testing, you can use a containerized Nessie setup. This approach is ideal for learning, prototyping, and development environments.Prerequisites
- Docker and Docker Compose: Ensure Docker is installed and running
- Sample Setup: You can use the official Nessie docker-compose setup
Setting up Local Nessie Catalog
You can use the official Nessie docker-compose setup which provides a complete environment with Nessie, in-memory version store, and MinIO for object storage. Step 1: Create a new folder in which to run the example, then create a filedocker-compose.yml with the following configuration:
The Nessie setup uses an in-memory version store and requires that sample data be loaded into the Iceberg tables first. Make sure the environment has created and populated the tables before attempting to query them through ClickHouse.
Connecting to Local Nessie Catalog
Connect to your ClickHouse container:Querying Nessie catalog tables using ClickHouse
Now that the connection is in place, you can start querying via the Nessie catalog. For example:If you don’t see any tables, this usually means:
- The environment hasn’t created the sample tables yet
- The Nessie catalog service isn’t fully initialized
- The sample data loading process hasn’t completed
Backticks requiredBackticks are required because ClickHouse doesn’t support more than one namespace.
Loading data from your Data Lake into ClickHouse
If you need to load data from the Nessie catalog into ClickHouse, start by creating a local ClickHouse table:INSERT INTO SELECT: