Filewisp

Parquetとは?CSVとの違いとデータ分析での使いどころ

データ基盤やBigQuery・Athenaでよく見る「.parquet」ファイル。Parquetとはどんな形式で、なぜCSVより速く・安くなるのか、どんなときにCSVと使い分けるべきかを、専門用語を抑えめに解説します。

Parquetは「列ごとに持つ」分析向け形式

Parquet(パーケット)は、大量データの分析向けに設計されたファイル形式です。CSVが1行ずつデータを並べる「行指向」なのに対し、Parquetは同じ列の値をまとめて格納する「列指向」になっています。この違いが、サイズと速度の差を生みます。

たとえば「売上の合計だけ知りたい」というクエリでは、売上の列だけ読めば十分です。列指向のParquetなら必要な列だけを読み飛ばして取得できるため、全行を最後まで読むCSVよりも、はるかに少ない読み取りで答えにたどり着けます。

CSVとの違い:サイズ・速度・型

ParquetはCSVに比べてファイルサイズが大幅に小さくなります。同じ列の似た値がまとまっているため圧縮が効きやすく、同じデータでもCSVの5〜10分の1程度になることも珍しくありません。ストレージ代と転送量の両方を抑えられます。

もう一つの違いが「型を持っている」ことです。CSVは中身がすべて文字列で、数値か日付かはソフトが推測します。Parquetは列ごとに型(数値・文字列・日付など)を記録しているため、読み込み時の型崩れや、文字化け・区切りずれといったCSV特有のトラブルが起きにくくなります。

どんなときにParquetを選ぶか

S3+AthenaやBigQueryのように、読み取ったデータ量に応じて課金される環境では、Parquetにしておくとスキャン量が減り、クエリのたびにコストを抑えられます。Spark・Redshift Spectrum・EMRなどでの大規模なバッチ処理でも、入力がParquetだと実行時間が短くなりやすいです。

「同じデータに何度もクエリを投げる」「列数が多くて一部の列しか使わない」「データが大きくて転送・保管コストが気になる」——こうした条件がそろうほど、Parquetの利点が効いてきます。データ基盤に長く置くファイルは、最初からParquetにしておくと後がラクです。

CSVのほうが向いている場面

一方で、Parquetはバイナリ形式なので、テキストエディタや普通のスプレッドシートではそのまま開けません。Excelで中身を確認したい、エンジニア以外のメンバーに渡したい、軽く目視チェックしたい、という場面ではCSVのほうが圧倒的に扱いやすいです。

S3上のParquetの中身をちょっと見たいだけのときも、クエリエンジンを立ち上げるより、CSVに変換して手元で開くほうが早いことがよくあります。データパイプラインのデバッグや、担当者への一時共有にもCSVが向いています。

ブラウザでParquet⇄CSVを変換する

中身の確認はParquet→CSV、基盤へ載せる前はCSV→Parquet

当サイトの「ParquetをCSVに変換」「CSVをParquetに変換」ツールは、どちらもブラウザ内で処理します。ファイルを外部サーバーに送らないので、本番データや機密データを含むファイルでもそのまま扱えます。

S3からダウンロードしたParquetの中身をさっと確認したいときはParquet→CSV、ローカルで作ったCSVを基盤に上げる前に整えたいときはCSV→Parquet、と覚えておくと、専用ツールを立ち上げずに作業を進められます。

まとめ:分析はParquet、確認はCSV

Parquetは列指向で型を持つ分析向け形式で、サイズと速度、クエリコストの面でCSVより有利です。一方、人が目で確認したり配布したりするにはCSVが向いています。「基盤で回すデータはParquet、確認や共有用はCSVに変換」という使い分けが現実的です。

Parquet⇄CSVの相互変換は、当サイトで無料・登録不要・ブラウザ内処理で利用できます。形式の良いとこ取りをしながら作業を進めてみてください。