Skip to main content
Dans ce guide, nous allons prendre en main la version Python de chDB. Nous commencerons par interroger un fichier JSON sur S3, puis nous créerons une table dans chDB à partir de ce fichier avant d’exécuter quelques requêtes sur les données. Nous verrons également comment renvoyer des données dans différents formats, notamment Apache Arrow et Pandas, puis nous apprendrons enfin à interroger des DataFrame Pandas.

Préparation

Commençons par créer un environnement virtuel :
Et maintenant, nous allons installer chDB. Assurez-vous d’utiliser la version 2.0.3 ou une version ultérieure :
Nous allons maintenant installer ipython :
Nous allons utiliser ipython pour exécuter les commandes dans la suite de ce guide, que vous pouvez lancer avec la commande suivante :
Nous utiliserons aussi Pandas et Apache Arrow dans ce guide, alors installons également ces bibliothèques :

Interroger un fichier JSON dans S3

Voyons maintenant comment interroger un fichier JSON stocké dans un bucket S3. Le jeu de données YouTube dislikes contient plus de 4 milliards de lignes correspondant à des réactions « Je n’aime pas » sur des vidéos YouTube jusqu’en 2021. Nous allons travailler avec l’un des fichiers JSON de ce jeu de données. Importez chdb:
Nous pouvons écrire la requête suivante pour décrire la structure de l’un des fichiers JSON :
Nous pouvons également compter le nombre de lignes dans ce fichier :
Ce fichier contient un peu plus de 300 000 enregistrements. chdb ne permet pas encore de passer des paramètres de requête, mais nous pouvons extraire le chemin et le transmettre à l’aide d’une f-string.
Vous pouvez le faire sans problème avec des variables définies dans votre programme, mais ne le faites pas avec des données fournies par l’utilisateur, sinon votre requête sera vulnérable à une injection SQL.

Configurer le format de sortie

Le format de sortie par défaut est CSV, mais il peut être modifié via le paramètre output_format. chDB prend en charge les formats de données de ClickHouse, ainsi que certains formats qui lui sont propres, dont DataFrame, qui renvoie un Pandas DataFrame :
Ou, si nous voulons récupérer une table Apache Arrow :

Créer une table à partir d’un fichier JSON

Voyons maintenant comment créer une table dans chDB. Pour cela, nous devons utiliser une API différente. Commençons donc par l’importer :
Ensuite, nous allons initialiser une session. Si nous voulons que la session soit enregistrée sur disque, nous devons fournir un nom de répertoire. Si nous le laissons vide, la base de données sera en mémoire et sera perdue dès que nous arrêtons le processus Python.
Ensuite, nous allons créer une base de données :
Nous pouvons maintenant créer une table dislikes à partir du schéma du fichier JSON, en utilisant la technique CREATE...EMPTY AS. Nous utiliserons le paramètre schema_inference_make_columns_nullable afin que les types de colonnes ne deviennent pas tous Nullable.
Nous pouvons ensuite utiliser la commande DESCRIBE pour examiner le schéma :
Ensuite, alimentons cette table :
Nous pouvons également effectuer ces deux étapes d’un seul coup, à l’aide de la technique CREATE...AS. Créons une autre table avec cette technique :

Interroger une table

Enfin, interrogeons la table :
Disons que nous ajoutons ensuite une colonne supplémentaire au DataFrame pour calculer le ratio entre les J’aime et les Je n’aime pas. Nous pourrions écrire le code suivant :

Interroger un DataFrame Pandas

Nous pouvons ensuite interroger ce DataFrame à partir de chDB :
Vous pouvez également en savoir plus sur l’interrogation des DataFrame Pandas dans le guide du développeur sur l’interrogation des DataFrame Pandas.

Étapes suivantes

Nous espérons que ce guide vous a donné un bon aperçu de chDB. Pour en savoir plus sur son utilisation, consultez les guides destinés aux développeurs ci-dessous :
Dernière modification le 23 juillet 2026