Les étapes ci-dessous fonctionneront tout aussi bien sur une installation locale de ClickHouse. La seule modification consiste à utiliser la fonction
s3 au lieu de s3cluster (sauf si vous avez un cluster configuré — dans ce cas, remplacez default par le nom de votre cluster).Instructions pas à pas
1
Exploration des données
Voyons à quoi ressemblent les données. La fonction de tables3cluster renvoie une table ; nous pouvons donc DESCRIBE le résultat :2
Créer la table
À partir du schéma inféré, nous avons simplifié les types de données et ajouté une clé primaire. Définissez la table suivante :3
Insérer des données
La commande suivante ingère en flux les enregistrements des fichiers S3 dans la tableyoutube.INSERT :- La fonction
parseDateTimeBestEffortUSOrZeroest pratique lorsque les champs de date entrants risquent de ne pas être au bon format. Sifetch_daten’est pas correctement interprété, il sera défini sur0 - La colonne
upload_datecontient des dates valides, mais aussi des chaînes comme “4 hours ago” — ce qui n’est évidemment pas une date valide. Nous avons choisi de stocker la valeur d’origine dansupload_date_stret de tenter de l’interpréter avectoDate(parseDateTimeBestEffortUSOrZero(upload_date::String)). Si l’analyse échoue, nous obtenons simplement0 - Nous avons utilisé
ifNullpour éviter d’avoir des valeursNULLdans notre table. Si une valeur entrante estNULL, la fonctionifNullla remplace par une chaîne vide
4
Compter le nombre de lignes
Ouvrez un nouvel onglet dans la SQL Console de ClickHouse Cloud (ou une nouvelle fenêtreclickhouse-client) et regardez le total augmenter.
L’insertion de 4,56 milliards de lignes prendra un certain temps, en fonction des ressources de votre serveur. (Sans aucun ajustement des paramètres, cela prend environ 4,5 heures.)5
Explorer les données
Une fois les données insérées, comptez le nombre de « Je n’aime pas » sur vos vidéos ou chaînes préférées. Voyons combien de vidéos ClickHouse a mises en ligne :La requête ci-dessus s’exécute aussi rapidement parce que nous avons choisi
uploader comme première colonne de la clé primaire : elle n’a donc eu à traiter que 237k lignes.title ou description :