Parquet is a very common file format for analytical data stored outside a database.
It brings columnar storage, compression and a schema to plain files.
Many tools read and write it, including pandas, Spark and most warehouses.
A Parquet file is split into row groups, and each row group stores its columns in separate chunks.
Each chunk records statistics such as the minimum and maximum values it holds.
A query filtering on order dates can skip row groups whose date range cannot match.
Each column can use its own encoding and compression, chosen to suit its values.
The schema, stored in the file, keeps types such as dates, decimals and nested structures.
Reading a few columns from a wide Parquet file reads only those columns' chunks.
Parquet files are not edited in place, so changing a row means writing a new file.
Many tiny Parquet files slow queries down, so small writes are usually combined into larger files.
Partitioning a dataset into folders, such as one per day, lets readers skip whole folders.
Parquet is not meant for people to read directly, so a quick look needs a tool rather than a text editor.
In practice, converting large CSV exports to Parquet is one of the cheapest performance wins available.
The usual mistake is splitting data into thousands of tiny files, which costs more in overhead than it saves.