DataFusion’s hash join builds one hash table per partition: a hashbrown table maps a folded 64-bit hash to a chain of row indices stored in a flat u32/u64 array, and the payload …
DataFusion splits group-key interning into a hash table of (hash, group id) plus one column builder per key column, so multi-column GROUP BY never materializes a row per group.