データレイク編 第4章 / 全11章
ファイル形式と列指向とは
CSV ・ JSON ・ Parquet
保存の形で、速さと費用が変わるポイント
- CSVやJSONは人が読みやすいが、集計のたびに全部の列を読む必要がある
- Parquetは列ごとにまとめて保存する(列指向)ので、必要な列だけ読める
- 圧縮も効きやすく、保存容量と読み込み量(=費用)を大きく減らせる
名前の由来
細かい木片を組み合わせた床のように、データを列ごとのブロックに分けて敷き詰める形式。
仕事の現場では
くわしく(正確な話)
- 行ごとにまとめる形式を行指向、列ごとにまとめる形式を列指向という。
- 列指向は同じ種類の値が並ぶので、圧縮率が高い。
- Parquetのほか、ORC・Avroなどの形式もある。
- 日付などでフォルダを分けておく(パーティション)と、さらに読む量を減らせる。
この章の用語(意味と語源)
- CSV シーエスブイ
値をカンマで区切って並べた、いちばん単純な表データのファイル。
Excelでも開けて手軽ですが、型の情報がなく、大量データの分析には向きません。
覚えておく:2026-10-01,東京店,りんご,150
語源Comma-Separated Values(カンマで区切られた値)の頭文字。
- JSON ジェイソン
「項目名: 値」の形で書く、テキストのデータ形式。
覚えておく:{ "店舗": "東京店" }
語源JavaScript Object Notation(JavaScriptでのモノの書き表し方)の頭文字。
- Parquet パーケイ
列ごとにまとめて保存する、分析向けのファイル形式。
必要な列だけを読めて、圧縮もよく効きます。分析用データの事実上の標準です。
覚えておく:列指向 / 圧縮 / 型つき
語源フランス語で「寄木細工の床」。細かいブロックを敷き詰めた構造から。
- 列指向 / 行指向 Columnar / Row-oriented
データを列ごとにまとめて持つか、行ごとにまとめて持つか。
業務DBは1件ずつ扱うので行指向、分析は特定の列を大量に読むので列指向が向いています。
語源column(列)はラテン語 columna(柱)から。row は「並び・列(横)」。
- 圧縮 Compression
同じ情報を、より小さいサイズで保存すること。
語源英語 compress は com(一緒に)+ press(押す)=押し縮める。
- パーティション Partition
日付などでフォルダを分けて、データを区切って置くこと。
「10月分だけ」読むときに、他の月のフォルダを読まずに済みます。
覚えておく:例:sales/year=2026/month=10/
語源partition(仕切り)。ラテン語 partire(分ける)から。
- ORC / Avro オーアールシー / アブロ
Parquet以外の、分析・データ連携向けのファイル形式。
ORCはParquetと同じ列指向、Avroは行指向でデータのやり取りに向いています。
語源ORC は Optimized Row Columnar(最適化された行・列形式)の頭文字。Avro は英国の航空機メーカーの名前にちなむと言われます。