Passer au contenu principal
L’intégration avec le catalogue Lakekeeper fonctionne uniquement avec les tables Iceberg. Cette intégration prend en charge à la fois AWS S3 et d’autres fournisseurs de stockage cloud.
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 à l’aide de ClickHouse et du catalogue Lakekeeper. Lakekeeper est une implémentation open source de REST catalog pour Apache Iceberg qui fournit :
  • une implémentation native en Rust offrant de hautes performances et une grande fiabilité
  • la conformité de l’API REST avec la spécification REST catalog d’Iceberg
  • l’intégration au stockage cloud avec un stockage compatible S3
Cette fonctionnalité étant expérimentale, vous devrez l’activer avec : SET allow_experimental_database_iceberg = 1;

Configuration de développement en local

Pour le développement et les tests en local, vous pouvez utiliser une configuration Lakekeeper conteneurisée. 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 cours d’exécution
  2. Configuration d’exemple : Vous pouvez utiliser la configuration Docker Compose de Lakekeeper

Configuration d’un catalogue Lakekeeper local

Vous pouvez utiliser la configuration docker-compose officielle de Lakekeeper, qui fournit un environnement complet avec Lakekeeper, un backend PostgreSQL pour les métadonnées et MinIO pour le stockage objet. Étape 1 : Créez un nouveau dossier dans lequel 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 de Lakekeeper 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 alimenté les tables avant d’essayer de les interroger via ClickHouse. La disponibilité des tables dépend de la configuration docker-compose utilisée ainsi que des scripts de chargement des données d’exemple.

Se connecter au catalogue Lakekeeper local

Connectez-vous à votre conteneur ClickHouse :
Créez ensuite la connexion de base de données au catalogue Lakekeeper :

Interroger les tables du catalogue Lakekeeper avec ClickHouse

Maintenant que la connexion est établie, vous pouvez commencer à interroger le catalogue Lakekeeper. Par exemple :
Si votre installation inclut des données d’exemple (comme le jeu de données des taxis), vous devriez voir des tables comme :
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 Lakekeeper n’est pas encore entièrement initialisé
  3. Le processus de chargement des données d’exemple n’est pas encore terminé
Vous pouvez consulter les logs de Spark pour suivre la progression de la création des tables :
Pour interroger une table (si elle est disponible) :
Accents graves obligatoiresLes accents graves sont obligatoires, car ClickHouse ne prend pas en charge plusieurs espaces de noms.
Pour afficher le DDL de la table :

Chargement des données de votre lac de données vers ClickHouse

Si vous devez charger des données depuis le catalogue Lakekeeper dans ClickHouse, commencez par créer une table ClickHouse locale :
Chargez ensuite les données de la table de votre catalogue Lakekeeper via un INSERT INTO SELECT :
Dernière modification le 25 juin 2026