Полный архив Hacker News
Полный набор всех записей Hacker News с 2006‑10 по 2026‑07 в формате Parquet с обновлением каждые 5 минут.
privacy
Эта заметка участвует в semantic memory.
AI Summary
🚀 TL;DR
- Что: Полный архив Hacker News (все истории, комментарии, Ask HN, Show HN, вакансии, опросы) с октября 2006 г. по 17 июля 2026 г.
- Объём: 48 876 157 элементов, хранится в ежемесячных Parquet‑файлах + 5‑минутные «live» блоки.
- Обновление: каждые 5 минут новые элементы, в полночь UTC текущий месяц пересоздаётся полностью.
- Как использовать: DuckDB,
datasets‑library,huggingface_hub, CLI, pandas и т.п. - Для кого: исследователи, аналитики, разработчики моделей, историки технологических сообществ.
📖 Что это такое
Этот набор данных – зеркальная копия полного архива сайта Hacker News, поддерживаемого Y Combinator. В архиве присутствуют все типы элементов:
story(ссылка, Ask HN, Show HN)commentpollpolloptjob
Данные берутся из ClickHouse Playground, публичного SQL‑эндпоинта, который реплицирует официальное Firebase‑API Hacker News. Архив публикуется на Hugging Face в виде каталога data/YYYY/YYYY‑MM.parquet и каталога today/YYYY/MM/DD/HH/MM.parquet для текущих 5‑минутных блоков.
🔑 Ключевые факты
- Покрытие: 2006‑10 – 2026‑07‑17 15:25 UTC.
- Элементов: 48 876 157.
- Формат: Parquet с ZSTD‑сжатием (уровень 22), сортировка по
id. - Метаданные:
stats.csv(кол‑во элементов, диапазон ID, размер файла, время выгрузки) иstats_today.csv(по 5‑минутным блокам). - Типы контента: 84,6 % историй содержат внешнюю ссылку, остальные – текстовые (Ask HN, Show HN и др.).
- Среднее количество комментариев: 23,7 на историю; максимум = 9 275.
- Распределение оценок: медиана = 0, топ 0,03 % историй имеют ≥ 1 000 очков.
- Самые популярные домены:
github.com,nytimes.com,arstechnica.comи др. - Самые активные авторы: пользователи, публикующие сотни‑тысячи историй за более чем десятилетний период.
⚙️ Как это работает / применить
Техническая инфраструктура
- Язык pipeline: Go.
- Конвертация: DuckDB → Parquet.
- Источники:
- Исторические данные – ClickHouse Playground (SQL‑запросы по месяцам).
- Онлайн‑данные – Firebase API Hacker News (получение новых ID каждые 5 мин).
- Процессы:
- Historical backfill – обход всех месяцев, экспорт в Parquet, запись
stats.csv. - Live polling – каждые 5 мин запрос новых ID, запись в
today/YYYY/MM/DD/HH/MM.parquet. - Day rollover – в полночь UTC полное пере‑выгрузка текущего месяца, удаление 5‑минутных блоков.
- Historical backfill – обход всех месяцев, экспорт в Parquet, запись
Примеры использования
-- 20 самых популярных историй по баллам
SELECT id, title, "by", score, url, time
FROM read_parquet('hf://datasets/open-index/hacker-news/data/*/*.parquet')
WHERE type = 1 AND title != ''
ORDER BY score DESC
LIMIT 20;
# Stream всех записей без скачивания
from datasets import load_dataset
ds = load_dataset('open-index/hacker-news', split='train', streaming=True)
for item in ds:
print(item['id'], item['type'], item.get('title'))
# Скачивание одного месяца через CLI
huggingface-cli download open-index/hacker-news \
data/2024/2024-01.parquet \
--repo-type dataset --local-dir ./hn/
- Пакетные загрузки:
snapshot_download(..., allow_patterns='data/2024/*'). - Аналитика: подсчёт объёма публикаций по месяцам/годам, поиск упоминаний (например,
LIKE '%rust%'), топ‑домены, активные авторы и т.д.
💡 Вывод и значение
Наличие полностью актуального и полностью покрывающего архива Hacker News открывает возможности для:
- Исследований динамики технологических сообществ и трендов за более чем 20 лет.
- Обучения и дообучения языковых моделей на реальных технических обсуждениях.
- Создания бенчмарков по информационному поиску, рекомендациям и ранжированию.
- Социальных и культурных исследований (смещение интересов, bias сообщества).
- Быстрого прототипирования аналитических запросов без необходимости собственного скрапинга или развертывания инфраструктуры.
Важно: данные сохраняют оригинальные пользовательские имена и текст, включая HTML‑разметку; удалённые/мертвые элементы тоже присутствуют. Лицензия – ODC‑By v1.0 (атрибуция обязательна).