Skip to main content
Dans ce guide, vous apprendrez à explorer un jeu de données dans ClickHouse Cloud à partir d’un notebook Jupyter à l’aide de chDB, un moteur SQL OLAP in-process rapide basé sur ClickHouse. Prérequis :
Si vous n’avez pas encore de compte ClickHouse Cloud, vous pouvez vous inscrire pour bénéficier d’un essai et obtenir 300 $ de crédits gratuits pour commencer.
Ce que vous apprendrez :
  • Vous connecter à ClickHouse Cloud depuis des notebooks Jupyter avec chDB
  • Interroger des jeux de données distants et convertir les résultats en Pandas DataFrames
  • Combiner des données de ClickHouse Cloud avec des fichiers CSV locaux pour l’analyse
  • Visualiser les données à l’aide de matplotlib
Nous utiliserons le jeu de données UK Property Price, disponible dans ClickHouse Cloud comme l’un des jeux de données d’exemple. Il contient des données sur les prix de vente des maisons au Royaume-Uni entre 1995 et 2024.

Configuration

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 sur la carte des données de prix de l’immobilier au Royaume-Uni (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 sur les prix. Afin de réduire le risque d’exposer vos identifiants, nous vous recommandons d’ajouter votre nom d’utilisateur Cloud et votre mot de passe 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 :
Les variables d’environnement ci-dessus ne persistent que pendant la durée de votre session de terminal. Pour les définir de manière permanente, ajoutez-les à votre fichier de configuration du shell.
Activez maintenant votre environnement virtuel. Depuis celui-ci, installez Jupyter Notebook avec la commande suivante :
Lancez Jupyter Notebook avec la commande suivante :
Une nouvelle fenêtre de navigateur devrait s’ouvrir avec l’interface Jupyter sur localhost:8888. Cliquez sur File > New > Notebook pour créer un nouveau notebook. Vous serez invité à sélectionner un noyau. Sélectionnez n’importe quel noyau Python disponible ; dans cet exemple, nous choisirons ipykernel : Dans une cellule vide, vous pouvez saisir la commande suivante pour installer chDB, que nous utiliserons pour nous connecter à notre instance ClickHouse Cloud distante :
Vous pouvez maintenant importer chDB et exécuter une requête simple pour vérifier que tout est correctement configuré :

Explorer les données

Avec le jeu de données UK price paid configuré et chDB en cours d’exécution dans un notebook Jupyter, nous pouvons maintenant commencer à explorer nos données. Imaginons que nous voulions examiner l’évolution des prix au fil du temps pour une zone précise du Royaume-Uni, comme 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 forme de DataFrame Pandas dans le processus, ce qui offre une manière pratique et familière de travailler avec les données. Écrivez 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 affiche le résultat dans le terminal sous forme de DataFrame Pandas. Dans la requête, nous utilisons la fonction remoteSecure pour nous connecter à ClickHouse Cloud. La fonction remoteSecure prend les paramètres suivants :
  • 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 indiquer 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 le volume de vos données, cela peut prendre quelques secondes. Dans cet exemple, nous renvoyons un prix moyen par année et appliquons le filtre town='LONDON'. Le résultat est ensuite stocké sous forme de DataFrame dans une variable appelée df. df.head affiche uniquement les premières lignes des données renvoyées : Exécutez la commande suivante dans une nouvelle cellule pour vérifier les types des colonnes :
Notez que, bien que date soit de type Date dans ClickHouse, dans le DataFrame obtenu, il est de type uint16. chDB déduit automatiquement le type le plus approprié lorsqu’il renvoie le DataFrame. Maintenant que les données sont disponibles dans un format familier, voyons comment les prix de l’immobilier à Londres ont évolué au fil du temps. Dans une nouvelle cellule, exécutez la commande suivante pour créer, avec matplotlib, un graphique simple du prix en fonction du temps pour Londres :
Sans surprise, les prix de l’immobilier à Londres ont considérablement augmenté au fil du temps. Un collègue data scientist nous a envoyé un fichier .csv contenant des variables supplémentaires liées au logement et se demande comment le nombre de logements vendus à Londres a évolué au fil du temps. Traçons-en quelques-unes par rapport aux prix de l’immobilier et voyons si nous pouvons mettre en évidence une corrélation. Vous pouvez utiliser le moteur de table file pour lire directement des fichiers sur votre machine locale. Dans une nouvelle cellule, exécutez la commande suivante pour créer un nouveau DataFrame à partir du fichier .csv local.
Il est également possible de lire depuis plusieurs sources en une seule étape. Pour ce faire, vous pouvez utiliser la requête ci-dessous avec une JOIN :
Bien qu’il manque des données à partir de 2020, nous pouvons représenter les deux jeux de données sur un même graphique pour les années 1995 à 2019. Dans une nouvelle cellule, exécutez la commande suivante :
D’après le graphique, on voit que les ventes ont démarré autour de 160 000 en 1995 et ont rapidement progressé, pour culminer à environ 540 000 en 1999. Ensuite, les volumes ont fortement reculé jusqu’au milieu des années 2000, chutant brutalement pendant la crise financière de 2007-2008 pour retomber à environ 140 000. Les prix, en revanche, ont connu une croissance régulière et soutenue, passant d’environ 150 000 £ en 1995 à près de 300 000 £ en 2005. Cette croissance s’est nettement accélérée après 2012, avec une hausse marquée d’environ 400 000 £ à plus de 1 000 000 £ en 2019. Contrairement au volume des ventes, les prix ont été peu affectés par la crise de 2008 et ont continué de suivre une trajectoire ascendante. Aïe !

Résumé

Ce guide a montré comment chDB permet d’explorer les données en toute fluidité dans les notebooks Jupyter en connectant ClickHouse Cloud à des sources de données locales. À 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(), lire des fichiers CSV locaux avec le moteur de table file(), et convertir directement les résultats en Pandas DataFrames pour l’analyse et la visualisation. Grâce à chDB, les data scientists peuvent tirer parti des puissantes capacités SQL de ClickHouse avec des outils Python courants comme Pandas et matplotlib, ce qui facilite la combinaison de plusieurs sources de données pour une analyse approfondie. Même si bien des data scientists londoniens ne pourront sans doute pas s’offrir leur propre maison ou appartement de sitôt, ils peuvent au moins analyser le marché qui les en a exclus !
Dernière modification le 23 juillet 2026