Skip to main content
Une grande partie des données dans le monde est stockée dans des buckets Amazon S3. Dans ce guide, nous verrons comment interroger ces données avec chDB.

Préparation

Commençons par créer un environnement virtuel :
Et maintenant, nous allons installer chDB. Assurez-vous d’avoir la version 2.0.2 ou supérieure :
Nous allons maintenant installer IPython :
Nous allons utiliser ipython pour exécuter les commandes dans la suite de ce guide, que vous pouvez démarrer en lançant :
Vous pouvez également utiliser le code dans un script Python ou dans votre notebook préféré.

Lister les fichiers dans un bucket S3

Commençons par lister tous les fichiers dans un bucket S3 contenant des avis Amazon. Pour ce faire, nous pouvons utiliser la fonction de table s3 et lui passer le path d’un fichier ou un joker correspondant à un ensemble de fichiers.
Si vous passez uniquement le nom du bucket, une exception sera levée.
Nous allons également utiliser le format d’entrée One pour que le fichier ne soit pas analysé ; à la place, une seule ligne est renvoyée par fichier, et nous pouvons accéder au fichier via la colonne virtuelle _file et au path via la colonne virtuelle _path.
Ce bucket ne contient que des fichiers Parquet.

Interroger des fichiers dans un bucket S3

Voyons maintenant comment interroger ces fichiers. Si nous voulons compter le nombre de lignes dans chacun de ces fichiers, nous pouvons exécuter la requête suivante :
Nous pouvons également indiquer l’URI HTTP d’un bucket S3 et obtenir les mêmes résultats :
Voyons le schéma de ces fichiers Parquet à l’aide de la clause DESCRIBE :
Calculons maintenant les principales catégories de produits en fonction du nombre d’avis, ainsi que la note moyenne en étoiles :

Interroger des fichiers dans un bucket S3 privé

Si nous voulons interroger des fichiers dans un bucket S3 privé, nous devons fournir une clé d’accès et une clé secrète. Nous pouvons transmettre ces identifiants à la fonction de table s3 :
Cette requête ne fonctionnera pas, car le bucket est public !
Une autre possibilité consiste à utiliser des collections nommées, mais cette approche n’est pas encore prise en charge par chDB.
Dernière modification le 23 juillet 2026