Skip to main content
Dans ce guide, vous apprendrez à explorer un jeu de données dans ClickHouse Cloud depuis un notebook Marimo à l’aide de chDB - un moteur SQL OLAP rapide en processus, powered by ClickHouse. Prérequis :
  • Python 3.8 ou version ultérieure
  • un environnement virtuel
  • un service ClickHouse Cloud opérationnel et vos informations de connexion
Si vous n’avez pas encore de compte ClickHouse Cloud, vous pouvez vous inscrire pour un essai et obtenir 300 $ de crédits gratuits pour commencer.
Ce que vous apprendrez :
  • Vous connecter à ClickHouse Cloud depuis des notebooks Marimo avec chDB
  • Interroger des jeux de données distants et convertir les résultats en Pandas DataFrames
  • Visualiser des données avec Plotly dans Marimo
  • Tirer parti du modèle d’exécution réactif de Marimo pour l’exploration interactive des données
Nous utiliserons le jeu de données UK Property Price, disponible dans ClickHouse Cloud comme l’un des jeux de données de démarrage. Il contient des données sur les prix de vente des maisons au Royaume-Uni entre 1995 et 2024.

Configuration

Chargement du jeu de données

Pour ajouter ce jeu de données à un service ClickHouse Cloud existant, connectez-vous à console.clickhouse.cloud avec les informations de votre compte. Dans le menu de gauche, cliquez sur Data sources. Cliquez ensuite sur Predefined sample data : Sélectionnez Get started dans la carte UK property price paid data (4GB) : Cliquez ensuite sur Import dataset : ClickHouse créera automatiquement la table pp_complete dans la base de données default et la remplira avec 28,92 millions de lignes de données de prix. Afin de réduire le risque d’exposer vos identifiants, nous vous recommandons d’ajouter votre nom d’utilisateur et votre mot de passe Cloud comme variables d’environnement sur votre machine locale. Depuis un terminal, exécutez la commande suivante pour ajouter votre nom d’utilisateur et votre mot de passe comme variables d’environnement :

Configuration des identifiants

Les variables d’environnement ci-dessus ne persistent que pendant la durée de votre session de terminal. Pour les définir de façon permanente, ajoutez-les à votre fichier de configuration du shell.

Installation de Marimo

Activez maintenant votre environnement virtuel. Depuis celui-ci, installez les paquets suivants que nous utiliserons dans ce guide :
Créez un nouveau notebook Marimo à l’aide de la commande suivante :
Une nouvelle fenêtre du navigateur devrait s’ouvrir avec l’interface Marimo sur localhost:2718 : Les notebooks Marimo sont stockés sous forme de fichiers Python pur, ce qui facilite leur gestion avec un système de contrôle de version et leur partage avec d’autres utilisateurs.

Installer les dépendances

Dans une nouvelle cellule, importez les paquets requis :
Lorsque vous passez la souris sur la cellule, deux cercles avec le symbole ”+” apparaissent. Vous pouvez cliquer dessus pour ajouter de nouvelles cellules. Ajoutez une nouvelle cellule et exécutez une requête simple pour vérifier que tout est correctement configuré :
Vous devriez voir le résultat s’afficher sous la cellule que vous venez d’exécuter :

Explorer les données

Avec le jeu de données UK price paid configuré et chDB opérationnel dans un notebook Marimo, nous pouvons maintenant commencer à explorer nos données. Imaginons que nous souhaitions examiner l’évolution des prix au fil du temps dans une région précise du Royaume-Uni, par exemple sa capitale, Londres. La fonction remoteSecure de ClickHouse vous permet de récupérer facilement les données depuis ClickHouse Cloud. Vous pouvez demander à chDB de renvoyer ces données sous la forme d’une Pandas DataFrame en mémoire, ce qui constitue une manière pratique et familière de travailler avec les données.

Interroger les données de ClickHouse Cloud

Créez une nouvelle cellule avec la requête suivante pour récupérer les données UK price paid depuis votre service ClickHouse Cloud et les convertir en pandas.DataFrame :
Dans l’extrait ci-dessus, chdb.query(query, "DataFrame") exécute la requête spécifiée et renvoie le résultat sous forme de Pandas DataFrame. Dans la requête, nous utilisons la fonction remoteSecure pour nous connecter à ClickHouse Cloud. La fonction remoteSecure prend comme paramètres :
  • une chaîne de connexion
  • le nom de la base de données et de la table à utiliser
  • votre nom d’utilisateur
  • votre mot de passe
Comme bonne pratique de sécurité, il est préférable d’utiliser des variables d’environnement pour les paramètres de nom d’utilisateur et de mot de passe plutôt que de les spécifier directement dans la fonction, même si cela reste possible si vous le souhaitez. La fonction remoteSecure se connecte au service ClickHouse Cloud distant, exécute la requête et renvoie le résultat. Selon la taille de vos données, cela peut prendre quelques secondes. Dans ce cas, nous renvoyons un prix moyen par année et appliquons un filtre avec town='LONDON'. Le résultat est ensuite stocké sous forme de DataFrame dans une variable appelée df.

Visualisation des données

Les données étant désormais disponibles dans un format familier, voyons comment les prix de l’immobilier à Londres ont évolué au fil du temps. Marimo fonctionne particulièrement bien avec des bibliothèques de visualisation interactives comme Plotly. Dans une nouvelle cellule, créez un graphique interactif :
Sans surprise, les prix de l’immobilier à Londres ont fortement augmenté au fil du temps. L’un des points forts de Marimo est son modèle d’exécution réactif. Créons un widget interactif pour sélectionner différentes villes de manière dynamique.

Sélection interactive d’une commune

Dans une nouvelle cellule, ajoutez une liste déroulante pour sélectionner différentes communes :
Dans une autre cellule, créez une requête qui réagit à la sélection de la ville. Lorsque vous modifiez la liste déroulante, cette cellule se réexécute automatiquement :
Créez maintenant un graphique qui se met à jour automatiquement lorsque vous changez de ville. Vous pouvez déplacer le graphique au-dessus de la DataFrame dynamique afin qu’il s’affiche sous la cellule avec la liste déroulante.
Désormais, lorsque vous sélectionnez une ville dans la liste déroulante, le graphique se met à jour automatiquement :

Explorer les distributions de prix avec des boîtes à moustaches interactives

Approfondissons l’analyse des données en examinant la répartition des prix de l’immobilier à Londres selon les années. Une boîte à moustaches nous montrera la médiane, les quartiles et les valeurs aberrantes, ce qui nous donnera une compréhension bien plus claire qu’un simple prix moyen. Commençons par créer un curseur d’année qui nous permettra d’explorer les différentes années de manière interactive : Dans une nouvelle cellule, ajoutez ce qui suit :
Interrogeons maintenant les prix de chaque bien pour l’année sélectionnée. Notez que nous n’effectuons ici aucune agrégation : nous voulons conserver toutes les transactions individuelles pour constituer notre distribution :
Si vous cliquez sur le bouton d’options en haut à droite de la cellule, vous pouvez masquer le code. Lorsque vous déplacez le curseur, le graphique se met automatiquement à jour grâce à l’exécution réactive de Marimo :

Résumé

Ce guide a montré comment utiliser chDB pour explorer vos données dans ClickHouse Cloud à l’aide de notebooks Marimo. À partir du jeu de données UK Property Price, nous avons montré comment interroger des données distantes dans ClickHouse Cloud avec la fonction remoteSecure(), et convertir directement les résultats en Pandas DataFrames pour l’analyse et la visualisation. Grâce à chDB et au modèle d’exécution réactif de Marimo, les data scientists peuvent tirer parti des puissantes fonctionnalités SQL de ClickHouse tout en utilisant des outils Python courants comme Pandas et Plotly, avec en plus des widgets interactifs et un suivi automatique des dépendances, qui rendent l’analyse exploratoire plus efficace et reproductible.
Dernière modification le 3 juillet 2026