Jackie-Jiang opened a new pull request, #11607:
URL: https://github.com/apache/pinot/pull/11607
Currently multi-stage aggregation/group-by requires both materialized rows
and data block. This means we always need to do conversion whether getting the
transferrable block locally (with materialized rows) or remotely (with data
block).
This PR:
- Enhanced `RowBasedBlockValSet` to support `null`
- Added `FilteredRowBasedBlockValSet` to support filtered aggregation from
materialized rows
- Enhanced `DataBlockExtractUtils`:
- Correctly handle `null` with filter
- Avoid per row extract to reduce the overhead
- Enhanced `AggregateOperator`, `MultistageAggregationExecutor`,
`MultistageGroupByExecutor`:
- Use only materialized rows or data block and avoid unnecessary row
conversion
- Avoid per row column index lookup
- Avoid extracting filtered rows multiple times when it can be shared
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]