Row Group and Column Chunk

A Parquet row group is a horizontal slice of a table. Within that slice, each primitive leaf column has a column chunk. A chunk is divided into pages. These units differ from a dataset partition or a complete file.

For a flat table with 200 rows, three columns, and two 100-row groups, each group has three chunks. Reading one column across both groups selects two chunks, subject to any extra columns required for filtering.

Optional min/max statistics can exclude groups whose ranges cannot match. Larger groups can reduce overhead and improve compression, but need more buffering and may combine a wider range of values. Sorting by a useful filter column can narrow ranges.

Writer options may specify rows rather than bytes. Measure the resulting compressed sizes and memory. Chunk metadata describes logical stored sizes, not exact network traffic, which also depends on caching and read requests.

See Data Formats: Parquet, ORC, Avro, and Arrow for worked examples.

Reference: Official format documentation.


Discover more from Insightful Data Lab

Subscribe to get the latest posts sent to your email.

Similar Posts

Questions, corrections, or additional insights?

This site uses Akismet to reduce spam. Learn how your comment data is processed.