コンテンツへスキップ
uencoder

Parquet

Parquetは列指向のバイナリストレージ形式である。Apacheプロジェクトであり、OLAP分析に使われ、列単位の圧縮により効率的なクエリを実現する。

目的

列指向ストレージと符号化を提供し、分析クエリが必要な列だけを読めるようにして、I/Oを大幅に削減する。

メカニズム

ファイルはロウグループに分割され、各ロウグループは列チャンクとして列データを格納する。列内のデータはRLE/辞書/差分符号化で圧縮される。フッターにスキーマと統計情報(min/max)を格納する。読み取りは列ごとに述語をプッシュダウンしてフィルタする。

ユースケース

  • Spark/Hiveでの分析クエリ
  • データレイク(Iceberg、Delta)
  • BIレポートのデータソース
  • S3/Azureのビッグデータ格納

例

  • 入力
    table data
    Output
    A columnar compressed file

    Stored by column

よくあるエラー

Too many small files inflates metadata overhead
Consolidate into larger row groups

関連用語

References