Полный архив 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)
  • comment
  • poll
  • pollopt
  • job

Данные берутся из 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 мин).
  • Процессы:
    1. Historical backfill – обход всех месяцев, экспорт в Parquet, запись stats.csv.
    2. Live polling – каждые 5 мин запрос новых ID, запись в today/YYYY/MM/DD/HH/MM.parquet.
    3. Day rollover – в полночь UTC полное пере‑выгрузка текущего месяца, удаление 5‑минутных блоков.

Примеры использования

-- 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 (атрибуция обязательна).

Мои мысли

graph

Карта связей