Skip to main content
L’intégration avec le Nessie Catalog fonctionne uniquement avec les tables Iceberg. Cette intégration prend en charge aussi bien AWS S3 que d’autres fournisseurs de cloud storage.
ClickHouse prend en charge l’intégration avec plusieurs catalogues (Unity, Glue, REST, Polaris, etc.). Ce guide vous explique les étapes à suivre pour interroger vos données avec ClickHouse et le Nessie. Nessie est un catalogue transactionnel open source pour les lacs de données qui offre :
  • un contrôle de version des données inspiré de Git, avec des branches et des commits
  • des transactions inter-tables et des garanties de visibilité
  • la conformité de l’API REST à la spécification REST Catalog d’Iceberg
  • une approche open data lake compatible avec Hive, Spark, Dremio, Trino, et plus encore
  • un déploiement prêt pour la production sur Docker ou Kubernetes
Cette fonctionnalité étant expérimentale, vous devez l’activer avec : SET allow_experimental_database_iceberg = 1;

Configuration d’un environnement de développement local

Pour le développement et les tests en local, vous pouvez utiliser un environnement Nessie conteneurisé. Cette approche est idéale pour l’apprentissage, le prototypage et les environnements de développement.

Prérequis

  1. Docker et Docker Compose : assurez-vous que Docker est installé et en fonctionnement
  2. Configuration d’exemple : vous pouvez utiliser la configuration officielle docker-compose de Nessie

Configuration d’un Nessie Catalog local

Vous pouvez utiliser la configuration officielle de Nessie avec docker-compose, qui fournit un environnement complet avec Nessie, un magasin de versions en mémoire et MinIO pour le stockage objet. Étape 1 : Créez un nouveau dossier pour y exécuter l’exemple, puis créez un fichier docker-compose.yml avec la configuration suivante :
Étape 2 : Exécutez la commande suivante pour démarrer les services :
Étape 3 : Attendez que tous les services soient prêts. Vous pouvez consulter les logs :
La configuration Nessie utilise un magasin de versions en mémoire et nécessite que les données d’exemple soient d’abord chargées dans les tables Iceberg. Assurez-vous que l’environnement a bien créé et rempli les tables avant de tenter de les interroger via ClickHouse.

Se connecter au Nessie Catalog local

Connectez-vous à votre conteneur ClickHouse :
Ensuite, créez la connexion de base de données au Nessie Catalog :

Interroger les tables du Nessie Catalog avec ClickHouse

Maintenant que la connexion est établie, vous pouvez commencer à effectuer des requêtes via le catalogue Nessie. Par exemple :
Si votre configuration inclut des données d’exemple (comme le jeu de données des taxis), vous devriez voir des tables telles que :
Si vous ne voyez aucune table, cela signifie généralement que :
  1. L’environnement n’a pas encore créé les tables d’exemple
  2. Le service de catalogue Nessie n’est pas encore complètement initialisé
  3. Le processus de chargement des données d’exemple n’est pas encore terminé
Vous pouvez consulter les logs de Nessie pour voir l’activité du catalogue :
Pour interroger une table (si elle est disponible) :
Accents graves obligatoiresLes accents graves doivent être utilisés, car ClickHouse ne prend pas en charge plusieurs espaces de noms.
Pour afficher le DDL de la table :

Chargement des données de votre data lake dans ClickHouse

Si vous devez charger des données depuis le catalogue Nessie vers ClickHouse, commencez par créer une table ClickHouse locale :
Chargez ensuite les données de la table de votre catalogue Nessie à l’aide d’un INSERT INTO SELECT :
Dernière modification le 24 juillet 2026