AIImage Tools

Parquet と CSV の使い分け(AWS・BigQuery 対応)

AWS S3 / Athena や BigQuery で Parquet を使うメリットと、CSV との変換タイミングをまとめたガイドです。ブラウザだけで変換できるツールも紹介します。

AWS で Parquet を使う理由

AWS S3 にデータを置いて Athena でクエリする場合、ファイル形式が料金に直結します。Athena はスキャンしたデータ量に対して課金されるため、CSV のまま置いておくと読み取り量が多くなりがちです。Parquet に変換しておくと、列単位の読み飛ばしと圧縮の効果でスキャン量が大幅に減り、コストを抑えやすくなります。

Glue カタログでテーブルを管理している場合も、Parquet 形式にしておくと ETL ジョブの処理速度が上がります。同じデータでも CSV と比べてファイルサイズが 5〜10 分の 1 程度になることがあり、S3 のストレージ代にも効いてきます。

Redshift・BigQuery・Spark での使い方

Redshift Spectrum や BigQuery への外部テーブルとして S3 上のデータを参照するとき、Parquet 形式だとパーティションの効きも良く、クエリが速くなります。BigQuery も Athena 同様にスキャン量課金なので、CSV より Parquet のほうが毎クエリのコストが下がります。

Spark や EMR でバッチ処理するときも、入力が Parquet だとシリアライズのオーバーヘッドが減るため、ジョブの実行時間が短くなりやすいです。大きめのデータセットを扱うなら、最初から Parquet で持っておくほうが後々ラクです。

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

Excel で開いて確認したい、エンジニア以外のメンバーに渡したい、BI ツールに読み込ませたい、といった場面では CSV のほうがずっと扱いやすいです。Parquet はバイナリ形式なので、テキストエディタや普通のスプレッドシートでは開けません。

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

ブラウザで変換する(インストール不要)

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

S3 からダウンロードした Parquet を手元でさっと確認したいときは Parquet → CSV、ローカルで作った CSV を S3 に上げる前に Parquet に変換しておきたいときは CSV → Parquet を使うと、余計なツールなしに作業が進みます。