Перейти к основному содержанию
Этот набор данных содержит все записи Posts, Users, Votes, Comments, Badges, PostHistory и PostLinks из Stack Overflow. Вы можете либо скачать заранее подготовленные версии данных в формате Parquet, содержащие все посты по состоянию на апрель 2024 года, либо скачать самые свежие данные в формате XML и загрузить их. Stack Overflow периодически публикует обновления этих данных — исторически каждые 3 месяца. На следующей диаграмме показана схема доступных таблиц для данных в формате Parquet. Описание схемы этих данных можно найти здесь.

Заранее подготовленные данные

Мы предоставляем копию этих данных в формате Parquet, актуальную по состоянию на апрель 2024 года. Хотя по числу строк (60 миллионов постов) этот набор данных для ClickHouse невелик, он содержит значительные объёмы текста и крупные столбцы типа String.
Ниже приведены показатели времени для кластера ClickHouse Cloud с 96 GiB памяти и 24 vCPU, расположенного в eu-west-2. Набор данных расположен в eu-west-3.

Posts

Posts также доступны по годам, например: https://datasets-documentation.s3.eu-west-3.amazonaws.com/stackoverflow/parquet/posts/2020.parquet

Votes

Votes также доступны с разбивкой по годам, например https://datasets-documentation.s3.eu-west-3.amazonaws.com/stackoverflow/parquet/votes/2020.parquet

Comments

Комментарии также доступны с разбивкой по годам, например: https://datasets-documentation.s3.eu-west-3.amazonaws.com/stackoverflow/parquet/comments/2020.parquet

Users

Badges

PostHistory

Исходный набор данных

Исходный набор данных доступен в XML-формате в сжатом виде (7zip) по адресу https://archive.org/download/stackexchange — файлы с префиксом stackoverflow.com*.

Скачать

Эти файлы могут быть размером до 35 ГБ, и их загрузка может занять около 30 минут в зависимости от скорости интернет-соединения — сервер ограничивает скорость скачивания примерно до 20 МБ/с.

Преобразование в JSON

На момент написания ClickHouse не поддерживает XML в качестве входного формата. Чтобы загрузить данные в ClickHouse, сначала преобразуем их в NDJSON. Для преобразования XML в JSON мы рекомендуем использовать Linux-инструмент xq — простую обёртку над jq для XML-документов. Установите xq и jq:
Следующие шаги подходят для любого из перечисленных выше файлов. В качестве примера используется файл stackoverflow.com-Posts.7z. При необходимости внесите изменения. Распакуйте файл с помощью p7zip. В результате будет получен один XML-файл — в данном случае Posts.xml.
Файлы сжаты примерно в 4,5 раза. При размере в сжатом виде 22 ГБ файл с постами занимает около 97 ГБ в несжатом виде.
Следующая команда разбивает XML-файл на файлы, каждый из которых содержит 10000 строк.
После выполнения приведённой выше команды у вас будет набор файлов, каждый по 10000 строк. Это гарантирует, что расход памяти при выполнении следующей команды не будет чрезмерным (преобразование из XML в JSON выполняется в памяти).
Приведённая выше команда создаст один файл posts.json. Загрузите его в ClickHouse следующей командой. Обратите внимание: для файла posts.json указана схема. Её нужно скорректировать для каждого типа данных, чтобы она соответствовала целевой таблице.

Примеры запросов

Несколько простых запросов для начала.

Пользователь с наибольшим количеством ответов (активные учетные записи)

Для учетной записи нужен UserId.

Самые противоречивые посты

Указание авторства

Мы благодарим Stack Overflow за предоставление этих данных по лицензии cc-by-sa 4.0, признавая их вклад и указывая первоначальный источник данных: https://archive.org/details/stackexchange.
Последнее изменение 19 июня 2026 г.