Skip to content
uencoder

Parquet

Parquet is a columnar binary storage format, an Apache project used for OLAP analytics, compressing by column for efficient queries.

Purpose

To provide columnar storage and encoding so analytical queries read only the columns they need, greatly reducing I/O.

Mechanism

A file is split into row groups, and each row group stores column data in column chunks. Within a column, data is compressed with RLE/dictionary/delta encoding. The footer stores the schema and statistics (min/max). Reads push down predicates per column to filter.

Use cases

  • Spark/Hive analytical queries
  • Data lakes (Iceberg, Delta)
  • BI report data sources
  • S3/Azure big data storage

Examples

  • Input
    table data
    Output
    A columnar compressed file

    Stored by column

Common errors

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

Related terms

References