Vous pouvez essayer ceci sur une instance ClickHouse autohébergée ou sur ClickHouse Cloud. Si vous n’avez pas encore de compte, vous pouvez commencer un essai gratuit de ClickHouse Cloud.
Chargement du jeu de données
- Sans insérer les données dans ClickHouse, nous pouvons les interroger directement. Récupérons quelques lignes pour voir à quoi elles ressemblent :
- Définissons une nouvelle table
MergeTreenomméeamazon_reviewspour stocker ces données dans ClickHouse :
- La commande
INSERTsuivante utilise la fonction de tables3Cluster, qui répartit les fichiers S3 entre les nœuds de votre cluster pour permettre leur lecture en parallèle.
default et vous pouvez exécuter cette commande telle quelle. Sur un serveur autogéré, remplacez default par le nom de votre cluster. Si vous utilisez un seul serveur, utilisez plutôt la fonction de table s3, en omettant le premier argument pour que l’appel commence par l’URL.
Nous utilisons un caractère générique dans l’URL pour insérer tous les fichiers d’avis correspondants.
- Cette requête est assez rapide : en moyenne, environ 300 000 lignes par seconde. En 5 minutes environ, vous devriez voir toutes les lignes insérées :
- Voyons combien d’espace occupent nos données :
Exemples de requêtes
- Exécutons quelques requêtes. Voici les 10 avis les plus utiles du jeu de données :
Cette requête utilise une projection pour améliorer les performances.
- Voici les 10 produits Amazon qui ont le plus d’avis :
- Voici la note moyenne des avis par mois pour chaque produit (une vraie question d’entretien chez Amazon !) :
- Voici le nombre total de votes par catégorie de produit. Cette requête est rapide, car
product_categoryfait partie de la clé primaire :
- Cherchons les produits pour lesquels le mot “awful” apparaît le plus souvent dans l’avis. C’est un travail considérable : il faut analyser plus de 151 M de chaînes à la recherche d’un seul mot :
runnable
- Nous pouvons relancer la même requête, mais cette fois en recherchant awesome dans les avis :
runnable