liveBook · Manning

Row group

A row group is a storage and processing unit containing a subset of rows in a columnar data file.

How 3 Manning books explain it

DuckDB in Action

A row group is a horizontal partition of rows in a Parquet file or DuckDB storage format that is stored and processed as a unit.

How it is used
Organizes columnar data for compression, parallel reads, and metadata-driven query skipping.
How deep it goes
Explains partitioning, sizing trade-offs, metadata statistics, and runtime processing, but stops short of storage-page internals.
Examples
Demonstrates ATP rankings conversion, a 100,000-row Parquet setting, metadata inspection, and date-based row-group skipping.
What you can do after
Operate DuckDB to configure Parquet row-group sizes and inspect row-group metadata for query-performance decisions.

Read how DuckDB in Action explains row group →

Architecting an Apache Iceberg Lakehouse

A row group is a storage and I/O unit containing a subset of a columnar file's rows.

How it is used
Supports selective reads and predicate-based skipping within Parquet files used by Iceberg lakehouses.
How deep it goes
Explains storage layout, column chunks, footer statistics, and sizing tradeoffs, but not row-group creation internals.
Examples
Uses Parquet footer metadata diagrams and compaction commands targeting 256 MB output files.
What you can do after
Diagnose memory, spill, parallelism, and scan-efficiency issues by evaluating row-group and file-size choices.

Read how Architecting an Apache Iceberg Lakehouse explains row group →

Fast Python: High performance techniques for large datasets

How it is used
Organizes Parquet data for metadata inspection, chunked writing, and memory-aware row-by-row-group processing.
How deep it goes
Defines row-group contents and demonstrates metadata, writing, and reading, but does not descend into lower-level storage internals.
Examples
Uses a 6,405,008-row file with one row group, seven generated row groups, and one-million-row input chunks.
What you can do after
Operate/configure PyArrow ParquetWriter and ParquetFile to create, inspect, and process row groups incrementally.

Read how Fast Python: High performance techniques for large datasets explains row group →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.