**Show HN:**

*Hacker News アーカイブ(4,700万件以上、11.6 GB)をParquet形式で提供 – 5分ごとに更新*

2026/03/15 2:12

**Show HN:** *Hacker News アーカイブ(4,700万件以上、11.6 GB)をParquet形式で提供 – 5分ごとに更新*

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:
本稿では、2006年10月から2026年3月16日までのHacker News(HN)の完全なミラーを提供する公開データセットを発表します。データセットは47,360,671件のアイテム(ストーリー、コメント、Ask HN、Show HN、求人、投票)で構成されます。データは毎月のParquetファイルと現在の日付に対する5分ごとのライブブロックとして保存されており、新しいブロックが5分ごとにコミットされ、完全な月間ファイルはUTC午前0時に更新されます。

stats.csv
ファイルには各月のメタデータ(アイテム数、ID範囲、ファイルサイズ、フェッチ/コミット時間、コミットタイムスタンプ)が記載されており、
stats_today.csv
はライブブロックをカバーします。
コンテンツは主にコメント(87.2 %)で構成され、ストーリーが12.7 %、求人/投票が<0.1 %です。ストーリーの84.8 %が外部URLへリンクしており、平均23.9件のコメントが各ストーリーに寄せられています(トップストーリーは9,275件)。ストーリースコアは急峻なパワーローを示し、平均1.5、中央値0、最高6,015であり、100点以上のストーリーが175,896件、1,000点以上が2,169件あります。トップ共有ドメインにはgithub.com(197 214)、youtube.com(134 767)、medium.com(124 527)、nyt.com(77 635)、wikipedia.org(54 377)が含まれます。主要な投稿者はrbanffy(36 772)、Tomte(26 167)、tosh(24 022)、bookofjoe(20 562)、mooreds(20 346)です。
パイプラインはGoで実装され、DuckDBを使用してParquet変換とZstandard圧縮レベル22を行います。過去データはClickHouse Playgroundから取得し、ライブデータはHN Firebaseからフェッチします。スキーマは公式Hacker News APIアイテム形式(id, deleted, type, by, time, text, dead, parent, poll, kids, url, score, title, parts, descendants, words)に一致し、
type
には5値のint8列挙型が使用されています。
Open Data Commons Attribution License (ODC‑By 1.0) の下でリリースされており、データセットはユーザー名・テキスト・タイトルといった公開されたユーザー生成コンテンツのみを含み、追加のPIIフィルタリングは行われません。
利用用途としては、技術的ディスコースに対する言語モデルの事前学習、20年以上にわたる感情・トレンド分析、コミュニティダイナミクス研究、情報検索ベンチマーク、および推奨システム開発が挙げられます。データはHugging Faceのdatasetsライブラリ、DuckDB、またはCLIツールを通じて利用可能であり、研究者は完全な履歴をストリームしたり、特定の年/月だけをロードして分析することができます。

本文

Hacker News – 完全アーカイブ

2006年以降のすべての Hacker News アイテムを 5 分ごとにライブ更新。


これは何ですか?

このデータセットは、Hacker News の完全なアーカイブを収録しています:ストーリー、コメント、Ask HN、Show HN、求人投稿、投票(poll)およびそのオプションまで、サイトに提出されたすべての項目です。
Hacker News は 2007 年から Y Combinator が運営している、最も長く続いてきた技術コミュニティの一つであり、創業者・エンジニア・研究者・テクノロジストが集まり、重要なトピックを共有・議論するデファクトポータルとなっています。

現在のアーカイブは 2006‑10 から 2026‑03‑16 23:55 UTC までで、合計 47 360 671 件 がコミット済みです。新しいアイテムは 5 分ごとに取得され、個別の Parquet ファイルとして自動パイプライン経由でコミットされるため、データセットはサイトと同時に更新されています。

Hugging Face 上で利用可能な最も完全かつ定期的に更新された Hacker News データミラーの一つだと考えています。データは月次 Parquet ファイルとしてアイテム ID 順にソートされて保存されるため、DuckDB で簡単にクエリを実行したり、datasets ライブラリで読み込んだり、Parquet を扱う任意のツールで処理できます。


リリース内容

データセットはカレンダーマンスごとに1つの Parquet ファイル(+本日分の5分ライブファイル)で構成されています。
毎 5 分ごとに新しい項目が取得され、単一の Parquet ブロックとしてコミットされます。UTC の深夜になると、現在の月全体を再取得し、1 つの権威ある Parquet ファイルとして書き出します。その後、本日分の5分ブロックは

today/
ディレクトリから削除されます。

data/
  2006/2006-10.parquet       ← HN データが最初に登場した月
  2006/2006-12.parquet
  …
  2026/2026-03.parquet       ← 最も新しい完全な月
  today/
    2026/03/16/00/00.parquet  ← 5 分ライブブロック(YYYY/MM/DD/HH/MM.parquet)
    …
    2026/03/16/23/55.parquet  ← 最新コミットブロック

stats.csv            ← 月次統計(1 行/月)
stats_today.csv      ← 5 分ブロック統計(1 行/ブロック)

stats.csv
には、各月のアイテム数、ID 範囲、ファイルサイズ、取得時間、コミット時刻などが記録されているため、完全性とパイプライン進捗を簡単に検証できます。


本日(2026‑03‑16)のブレークダウン

以下は本日の 24 時間にコミットされたアイテム数の時間別チャートです(2026‑03‑18 22:20 UTC 現在更新)。

00:00  ████████████████████░░░░░░░░  976
01:00  █████████████████████░░░░░░░  1.0K
02:00  ██████████████████████░░░░░░  1.1K
03:00  █████████████████░░░░░░░░░  850
04:00  █████████████████░░░░░░░░░  845
05:00  ██████████████░░░░░░░░░░░░  709
06:00  █████████████████░░░░░░░░░  817
07:00  ██████████████████░░░░░░░░  893
08:00  █████████████████░░░░░░░░░  839
09:00  █████████████████████░░░░░░  1.0K
10:00  █████████████████░░░░░░░░░  854
11:00  ███████████████████████░░░░  1.1K
12:00  ██████████████████████████████  1.4K
13:00  ███████████████████████████░░  1.3K
14:00  █████████████████████░░░░░░░  1.0K
15:00  █████████████████████████████░  1.4K
16:00  ████████████████████████████░░  1.4K
17:00  ████████████████████████░░░░░░  1.1K
18:00  ██████████████████████████░░░░  1.2K
19:00  ██████████████████████░░░░░░░  1.1K
20:00  ████████████████████░░░░░░░░░  990
21:00  ██████████████████████░░░░░░░  1.1K
22:00  █████████████░░░░░░░░░░░░░░░  654
23:00  █████████░░░░░░░░░░░░░░░░░  453

年別ブレークダウン

以下は年ごとにコミットされたアイテム数を示すチャートです。

2006  █░░░░░░░░░░░░░░░░░░░░░░  62
2007  █░░░░░░░░░░░░░░░░░░░░░░  93.8K
2008  ██░░░░░░░░░░░░░░░░░░░░░░  320.9K
2009  ███░░░░░░░░░░░░░░░░░░░░░  608.4K
2010  ██████░░░░░░░░░░░░░░░░░░  1.0M
2011  ████████░░░░░░░░░░░░░░░░  1.4M
2012  ██████████░░░░░░░░░░░░░░  1.6M
2013  █████████████░░░░░░░░░░░  2.0M
2014  ███████████░░░░░░░░░░░░░  1.8M
2015  █████████████░░░░░░░░░░░  2.0M
2016  ████████████████░░░░░░░░░  2.5M
2017  █████████████████░░░░░░░░░  2.7M
2018  ██████████████████░░░░░░░░░  2.8M
2019  ████████████████████░░░░░░░  3.1M
2020  ████████████████████████░░░░  3.7M
2021  ███████████████████████████░  4.2M
2022  █████████████████████████████░  4.4M
2023  ██████████████████████████████  4.6M
2024  ████████████████████████░░░░░░  3.7M
2025  █████████████████████████░░░░░  3.9M
2026  ██████░░░░░░░░░░░░░░░░░░░░░  955.4K

データセットのダウンロードと利用方法

DuckDB で直接読み込む

DuckDB は Hugging Face 上の 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;

"by"
は DuckDB の予約語ですので、ダブルクォートで囲みます。)

datasets
ライブラリ

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["title"])

# 特定年(例:2024 年)をメモリにロード
ds = load_dataset(
    "open-index/hacker-news",
    data_files="data/2024/*.parquet",
    split="train",
)
print(f"{len(ds):,} items in 2024")

# 本日分のライブブロック(5 分ごとに更新)
ds = load_dataset(
    "open-index/hacker-news",
    name="today",
    split="train",
    streaming=True,
)

huggingface_hub
でダウンロード

from huggingface_hub import snapshot_download

# 2024 年データのみ(約1.5 GB)
snapshot_download(
    "open-index/hacker-news",
    repo_type="dataset",
    local_dir="./hn/",
    allow_patterns="data/2024/*",
)

高速ダウンロードには

pip install huggingface_hub[hf_transfer]
を実行し、環境変数
HF_HUB_ENABLE_HF_TRANSFER=1
を設定してください。

CLI

# 1 ヶ月分をダウンロード
huggingface-cli download open-index/hacker-news \
    data/2024/2024-01.parquet \
    --repo-type dataset --local-dir ./hn/

pandas + DuckDB

import duckdb
conn = duckdb.connect()

df = conn.sql("""
    SELECT percentile_disc(0.50) WITHIN GROUP (ORDER BY score) AS p50,
           percentile_disc(0.90) WITHIN GROUP (ORDER BY score) AS p90,
           percentile_disc(0.99) WITHIN GROUP (ORDER BY score) AS p99,
           percentile_disc(0.999) WITHIN GROUP (ORDER BY score) AS p999
    FROM read_parquet('hf://datasets/open-index/hacker-news/data/*/*.parquet')
    WHERE type = 1
""").df()
print(df)

データセット統計

stats.csv
から直接月次統計をクエリできます。

SELECT * FROM read_csv_auto('hf://datasets/open-index/hacker-news/stats.csv')
ORDER BY year, month;

stats.csv
のカラムは以下の通りです。

カラム説明
year
,
month
カレンダーマンス
lowest_id
,
highest_id
ファイルがカバーするアイテム ID 範囲
count
アイテム数
dur_fetch_s
ソースから取得にかかった秒数
dur_commit_s
Hugging Face へのコミットにかかった秒数
size_bytes
Parquet ファイルサイズ(バイト)
committed_at
コミット日時(ISO 8601)

コンテンツの内訳

Hacker News は 5 種類のアイテムタイプがあります。ほとんどがコメントで、次いでストーリー(Ask HN・Show HN・リンク投稿)。求人・投票・投票オプションは少数です。

タイプ件数割合
comment41 285 21187.2 %
story6 035 32812.7 %
job18 0670.0 %
poll2 2400.0 %
pollopt15 4490.0 %

ストーリーのうち 84.8 % が外部 URL をリンクしています。残りは Ask HN の質問・Show HN の発表・自己投稿など、ディスカッション自体がコンテンツです。

平均で 1 ストーリーあたり 23.9 コメント が生成されます。最も議論されたストーリーは 9 275 コメント を集め、議論の深さを示しています。


スコア

Hacker News のスコアは急峻なパワー律に従います。ほとんどのストーリーが数点しか得られませんが、少数は数百・数千の upvote を獲得してフロントページへ上昇します。

指標
平均スコア1.5
中央値0
最大スコア6 015
スコア 100+ のストーリー175 896
スコア 1 000+ のストーリー2 169

中央値が 0 なのは、多くの投稿が注目を集めずに終わるためです。上位 0.03 %(1 000 点以上)は、技術業界で議論を牽引したコンテンツと考えられます。


最も共有されているドメイン

Hacker News のストーリーからリンクされるドメインは、コミュニティの価値観を物語ります。GitHub が圧倒的に多く、オープンソースと開発への根深い関係が反映されています。主要報道機関(New York Times・Ars Technica など)はジャーナリズムや長文分析への興味を示しています。

#ドメインストーリー数
1github.com197 214
2www.youtube.com134 767
3medium.com124 527
4www.nytimes.com77 635
5en.wikipedia.org54 377
6techcrunch.com54 180
7twitter.com50 501
8arstechnica.com47 048
9www.theguardian.com44 255
10www.bloomberg.com37 775

最もアクティブな投稿者

以下は、Hacker News におけるストーリー投稿数が最も多いユーザーです。多くは 10 年以上活動しており、コミュニティへの継続的な貢献を示しています。

#ユーザーストーリー
1rbanffy36 772
2Tomte26 167
3tosh24 022
4bookofjoe20 562
5mooreds20 346
6pseudolus19 904
7PaulHoule18 951
8todsacerdoti18 880
9ingve17 048
10thunderbong15 962

パイプラインの仕組み

  • バックフィル:2006‑10 から最新完全月まで、ClickHouse から時間限定 SQL クエリで取得し、DuckDB で ID 順に並べた Parquet(Zstandard レベル22)へ変換。既に
    stats.csv
    に記録されている月はスキップし、再実行可能です。
  • ライブポーリング:5 分ごとに HN Firebase API を呼び出し、ID 範囲で取得したアイテムを 5 分ブロックにまとめ、
    today/YYYY/MM/DD/HH/MM.parquet
    に書き込み即コミット。API を直接使用することでインデックス遅延無しのリアルタイム反映が可能です。
  • 日付切替:UTC の深夜に現在月全体を再取得し、権威ある Parquet ファイルへ。個別 5 分ブロックは同一コミットで削除。マージではなく再取得することで、重複や欠損のない完全ファイルを保証します。

すべての Parquet は Zstandard(レベル22)圧縮、ID 順ソートで保存され、フィルタリング・デダプリケーションは行いません。元データそのままです。


個人情報とセンシティブな内容

ユーザー名(

by
フィールド)やユーザー生成テキスト(
text
,
title
)が公開されている状態で含まれます。追加の PII 処理は行っていません。データは news.ycombinator.com 上で公開されている内容をそのまま反映しています。

削除・死亡済みアイテムも元の状態で保持します。削除された項目は多くのフィールドが空白になりますが、

id
deleted
フラグのみ保たれます。


利用上の留意点

社会的インパクト

完全アーカイブを公開することで、オンラインコミュニティのダイナミクスや技術トレンド、テクノロジー議論の進化に関する研究が可能になります。言語モデル学習や情報検索・推薦システムのベンチマークとしても活用できます。

バイアス

Hacker News はソフトウェアエンジニア、スタートアップ創業者、米国中心のテック愛好家が主体です。シリコンバレー関連やプログラミング言語、起業・政治的観点に偏りがあります。モデレータはコミュニティ価値を反映した削除/死亡判定を行うため、客観性ではなくコミュニティの意思が表れます。

制限事項

  • type
    は整数(TINYINT)で 1=story,2=comment,3=poll,4=pollopt,5=job。DuckDB でストーリーを選択する際は
    WHERE type = 1
    を使用。
  • by
    は予約語なので
    "by"
    とダブルクォート。
  • deleted
    ,
    dead
    は 0/1 整数。
  • コメントテキストは HTML(実際の HN 保存形式)。タグ除去が必要な場合は自前で処理。
  • スコアは取得時点のスナップショットで、最終値ではない。
  • ユーザープロファイル情報(karma 等)は含まれません。
  • コード断片は HTML エスケープ・
    <code>
    タグ付き。

ライセンス

データセットは Open Data Commons Attribution License (ODC‑By) v1.0 の下で公開されています。元のコンテンツは各著者の権利が適用されます。Hacker News データは Y Combinator から提供されています。このミラーは独立したコミュニティ作業であり、Y Combinator と提携・認定されているわけではありません。


お問い合わせ

質問やフィードバック、問題がある場合は Community タブにディスカッションを投稿してください。

最終更新:2026‑03‑18 22:20 UTC

同じ日のほかのニュース

一覧に戻る →

2026/03/19 5:45

再生成された場合、保証は無効となります。

## 日本語訳: > **トム・ハートマンは農業機械の「ソフトウェアメカニック」として自らを再定義しました。** ジョン・ディール社のソフトウェア修理事業が消滅した後、彼は従来のトラブルシューティングから意図された技術動作と実際のパフォーマンス(仕様上の問題)のギャップを診断する方向へシフトしたことを示す新しいサイン「HARTMANN SOFTWARE MECHANICS」を追加しました。 > > 彼の工房では、ハードウェア障害とソフトウェア仕様エラーの両方に対処します。コーヒーマシン実験を通じて、仕様上の欠落がどのように高額な失敗につながるかというドメイン課題を示しています。 > > **クライアント:** > • *マーガレット・ブレナン* – 彼女のキャベツ農場の収穫タイミングツールが天候モデル更新後に成熟度を過小評価したため、トムは仕様に監視条項を追加しました。 > • *イーサン・ノヴァク* – 40種類のカスタムツールを持つ乳製品農家で、「話す」ものがあったが全体的なアーキテクチャが欠如し、飼料ツール再生成後にミルク価格が8 %低下した。トムは「ソフトウェア・チョレオグラファー」(メガン・キャラハン)を提案しました。 > • *キャロル・リンデグレン* – 有機野菜農場で、孫が灌漑最適化ハブを設置。トムは物理的なオーバーライドスイッチとログ記録を提供し、現場固有の知識を保持しました。 > > 共通する問題として「グラウンド・ムーブ」(仕様に捉えられない upstream データ/ソース変更)や「スパゲッティ」(アドホックなツール間インターフェース)が挙げられます。 > > **メトリクス:** 1日あたり6–8件のクライアント、94 % の診断成功率、仕様修正ごとの平均請求額 $180、および継続的な四半期検査。 > > **経済的洞察:** クライアントはしばしば予防保全に抵抗します――失敗よりもコストが低いにもかかわらず―これは人間医療の緊急対応をウェルネスチェックより優先する傾向と似ています。 > > **成果と将来計画:** マーガレットのツールは修復済み、イーサンはチョレオグラフィーを採用予定、キャロルは週に3回オーバーライドスイッチを使用し、トムが四半期ごとに検査を実施します。このアプローチは失敗コストの低減、積極的な保守の奨励、および反応的バグ修正よりも仕様品質を優先する農業技術産業への影響力を高める可能性があります。

2026/03/15 21:20

**オープンロケット**

## Japanese Translation: > **OpenRocket** は、ユーザーがロケットを設計・シミュレーションし、実際に構築する前に最適化できる無料のオープンソースモデルロケットシミュレータです。 > 50以上の変数を備えた最新鋭の六自由度飛行エンジン、リアルタイム性能データ(圧力中心・重心・最大高度・速度・安定性など)、高度なプロット/エクスポート機能を提供します。 > デザイナーは材質密度、仕上げ品質、部品カタログ項目、カスタムパーツを含むCAD風図面を作成し、設計のPDFをエクスポートできます。 > 組み込み AI アシスタントが自動的にパラメータを調整し、高高度などの最適化目標を達成します。 > OpenRocket は ThrustCurve から取得した包括的なデータベースを使用して、マルチステージ・ダブルデプロイメント・クラスターモーター構成をサポートします。 > 本プロジェクトは GitHub を通じて貢献を歓迎し、ユーザーと開発者向けに豊富なドキュメントを提供するとともに、アイデア共有や新機能の議論が行われる活発な Discord コミュニティを維持しています。 > 今後のリリースではプロット/エクスポートツールのさらなる強化、AI 主導の最適化の深化、およびユーザーフィードバックの取り込みを継続します。 この改訂版サマリーはすべての重要ポイントを統合し、非推奨の推論を除外し、あいまいな表現なしに主旨を明確に提示しています。

2026/03/18 16:43

**ワンダー** *小さなウェブを探索するための、ちょっとした分散型ツール*

## 日本語訳: 以下のテキストは「Wander」コンソールのセットアップ方法と使用法について説明しています。 「Wander」は、コミュニティが共有するランダムなウェブサイトを探索できる軽量なWebインターフェースです。 1. **設定手順** - `index.html` と `wander.js` が含まれる ZIP ファイルをダウンロードします。 - これらのファイルを自分のウェブサイトの `/wander/` ディレクトリに展開します。 - `wander.js` を codeberg.org/susam/wander の指示に従って編集します。 - `/wander/` フォルダがオンラインになったら、コミュニティスレッドで自分のコンソールへのリンクを共有します。 2. **動作原理** - 別サイトの Wander コンソールを訪れると、現在のウェブサイトのコンソールからその別サイトのコンソールへ移動します。 - 元のコンソールは他のコンソールから再帰的におすすめを取得できるため、ネットワーク閲覧時にコンソールを変更する必要はありません。 3. **コミュニティの背景** - Wander コミュニティは、自分自身の個人ウェブサイトを開発・運営している人々で構成されています。 - 自分のコンソールを他者のリストに追加することで、Wander ネットワークへの参加が促進されます。 4. **追加情報** - 詳細は codeberg.org/susam/wander をご覧ください。 --- この改訂版要約は、主要なポイントをすべて反映し、根拠のない利益を加えずに主旨を明確かつ簡潔に示しています。

**Show HN:** *Hacker News アーカイブ(4,700万件以上、11.6 GB)をParquet形式で提供 – 5分ごとに更新* | そっか~ニュース