Format Atlas

FORMAT COMPARISON

JSON Lines vs Parquet

JSON Linesは各行に独立したJSON値を記録するUTF-8テキストです。Parquetは行グループと列チャンクを持つバイナリ列指向ファイルで、ログの取り込みと分析用保存では選ぶ基準が異なります。

最終確認: 2026-09-27

JSON LinesとParquet、どちらを選ぶ?

イベントを1件ずつ出力・取り込みする段階ではJSONL、型を揃えたデータから必要な列を読む分析ではParquetを検討します。サイズと速度は同じデータ・圧縮・ツールで測定し、常に一方が速いとは扱いません。

JSON Lines向き

行単位で処理するログや記録・JSONレコードのストリーミング交換

  • データを1行ずつ読み書きする
  • テキスト処理ツールで追記・連結する

Parquet向き

分析基盤向けの列指向データ保存

  • 必要な列だけを読み込む大規模な表形式データ

基本情報を比較

JSON LinesとParquetの主な違いを確認できます。

項目JSON LinesParquet
拡張子.jsonl、.ndjson.parquet
MIME Typeapplication/jsonlapplication/vnd.apache.parquet
主な用途行単位で処理するログや記録・JSONレコードのストリーミング交換分析基盤向けの列指向データ保存
圧縮nonecolumnar_data
開く方法テキストエディタやJSON Lines対応ツールで開きます。1行ずつJSONとして検証すると、どのレコードに構文エラーがあるか確認しやすくなります。Parquet対応の分析ツールやライブラリでスキーマ、列、行数、型を確認します。
書き出し・変換JSON配列へ変換するときは全行を配列要素にまとめ、JSON Linesへ戻すときは各要素を1行ずつ書き出します。大量データではメモリ使用量に注意します。CSVなどから変換する際は、型、null、日時、文字コード、パーティションの扱いを確認します。

用途別の選び方

作りたいものや使う場面から選べます。

データを1行ずつ読み書きする

行単位で処理するログや記録・JSONレコードのストリーミング交換

JSON Lines向き

テキスト処理ツールで追記・連結する

行単位で処理するログや記録・JSONレコードのストリーミング交換

JSON Lines向き

必要な列だけを読み込む大規模な表形式データ

分析基盤向けの列指向データ保存

Parquet向き

確認ポイント 1

JSONLは1行ごとにJSON値を解析でき、末尾改行があればレコードの追記やファイル連結を扱いやすくなります。Parquetはファイル末尾のメタデータで列チャンクを特定するため、JSONLのようなテキスト行の単純追記とは異なります。

使い分け

確認ポイント 2

JSONLは行ごとに異なるオブジェクトや配列を記録できます。Parquet変換では列型とスキーマへの対応を決め、欠損フィールドとnull、整数精度、時刻、ネストした値を確認します。

使い分け

選ぶ理由を詳しく

  • Parquetの列選択は対応リーダーで必要な列チャンクを読む用途に向きます。JSONLの通常の逐次読込みは各行を解析しますが、実際の速度や省容量効果はデータ・圧縮・実装に依存します。

詳しく見る

参考資料・仕様