Filewisp

Parquet(パーケット)とは?CSVとの違いとBigQueryでの使い方

Parquetの読み方は「パーケット」です。CSVとの違い、BigQuery・Athenaで使う理由、ブラウザで中身を確認する方法をまとめました。

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にしておくと後がラクです。

BigQueryでParquetを使う方法

BigQueryでは、Cloud Storageに置いたParquetをBigQueryのテーブルへ読み込む方法と、外部テーブルとしてCloud Storage上のファイルを直接クエリする方法があります。同じデータを繰り返し分析し、クエリ性能を優先するなら通常のテーブルへ読み込み、まず中身を確認したい場合やファイルを移さず参照したい場合は外部テーブルを使う、と分けると選びやすくなります。

CSVから用意する場合は、先にParquetへ変換してCloud Storageへ置き、データセットとバケットのロケーションを合わせて読み込みます。当サイトのCSV→Parquet変換は全列を文字列型で出力するため、数値や日付はBigQuery側のスキーマやクエリで必要な型へ変換してください。

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

公式資料