Passer au contenu principal
Ce jeu de données contient l’ensemble des données Posts, Users, Votes, Comments, Badges, PostHistory et PostLinks de Stack Overflow. Vous pouvez soit télécharger des versions Parquet des données déjà préparées, couvrant l’ensemble des données jusqu’en avril 2024, soit télécharger les données les plus récentes au format XML et les charger. Stack Overflow fournit périodiquement des mises à jour de ces données — historiquement, tous les 3 mois. Le diagramme suivant présente le schéma des tables disponibles au format Parquet. Une description du schéma de ces données est disponible ici.

Données prépréparées

Nous fournissons une copie de ces données au format Parquet, à jour en avril 2024. Bien que ce jeu de données soit relativement petit pour ClickHouse en nombre de lignes (60 millions de posts), il contient d’importants volumes de texte et de grandes colonnes String.
Les durées ci-dessous correspondent à un cluster ClickHouse Cloud de 96 GiB et 24 vCPU situé dans eu-west-2. Le jeu de données se trouve dans eu-west-3.

Posts

Posts sont également disponibles par année, par exemple https://datasets-documentation.s3.eu-west-3.amazonaws.com/stackoverflow/parquet/posts/2020.parquet

Votes

Les Votes sont également disponibles par année, par exemple https://datasets-documentation.s3.eu-west-3.amazonaws.com/stackoverflow/parquet/votes/2020.parquet

Comments

Comments sont également disponibles par année, par exemple https://datasets-documentation.s3.eu-west-3.amazonaws.com/stackoverflow/parquet/comments/2020.parquet

Users

Badges

PostHistory

Jeu de données d’origine

Le jeu de données d’origine est disponible au format XML compressé (7zip) à l’adresse https://archive.org/download/stackexchange — fichiers avec le préfixe stackoverflow.com*.

Télécharger

Ces fichiers peuvent atteindre 35GB et prendre environ 30 min à télécharger selon la connexion Internet - le serveur de téléchargement bride le débit à environ 20MB/s.

Convertir en JSON

Au moment de la rédaction, ClickHouse ne prend pas en charge nativement le XML comme format d’entrée. Pour charger les données dans ClickHouse, nous les convertissons d’abord au format NDJSON. Pour convertir du XML en JSON, nous recommandons l’outil Linux xq, un simple wrapper autour de jq pour les documents XML. Installez xq et jq :
Les étapes suivantes s’appliquent à chacun des fichiers ci-dessus. Nous utilisons le fichier stackoverflow.com-Posts.7z à titre d’exemple. Modifiez selon vos besoins. Extrayez le fichier à l’aide de p7zip. Cela produira un seul fichier XML — dans ce cas, Posts.xml.
Les fichiers sont compressés à environ 4,5x. Avec 22 Go compressés, le fichier Posts nécessite environ 97 Go non compressés.
La commande suivante scinde le fichier xml en plusieurs fichiers de 10 000 lignes chacun.
Après avoir exécuté ce qui précède, vous disposerez d’un ensemble de fichiers de 10 000 lignes chacun. Cela garantit que la consommation mémoire de la commande suivante n’est pas excessive (la conversion de XML en JSON s’effectue en mémoire).
La commande ci-dessus produira un seul fichier posts.json. Chargez ce fichier dans ClickHouse à l’aide de la commande suivante. Notez que le schéma est spécifié pour le fichier posts.json. Il devra être ajusté en fonction du type de données afin de correspondre à la table cible.

Exemples de requêtes

Quelques requêtes simples pour vous aider à démarrer.

Utilisateur ayant le plus de réponses (comptes actifs)

Le compte doit comporter un UserId.

Posts les plus controversés

Attribution

Nous remercions Stack Overflow de mettre ces données à disposition sous la licence cc-by-sa 4.0, et reconnaissons leurs efforts ainsi que la source originale des données : https://archive.org/details/stackexchange.
Dernière modification le 2 juillet 2026