Package org.apache.druid.frame.processor
Interface FrameCombiner
public interface FrameCombiner
Interface for combining adjacent rows with identical sort keys during merge-sort. Works directly with
Frame objects and row indices for efficient random-access reads.
Used by FrameChannelMerger to reduce intermediate data volume by combining rows that share
the same sort key.-
Method Summary
Modifier and TypeMethodDescriptionvoidFold another row into the accumulated group.Returns aColumnSelectorFactorybacked by the accumulated combined values.voidinit(FrameReader frameReader) Initialize with the FrameReader for understanding frame schema and format.voidStart a new group with the given row from the given frame.
-
Method Details
-
init
Initialize with the FrameReader for understanding frame schema and format. -
reset
Start a new group with the given row from the given frame. Reads and stores values from this row. -
combine
Fold another row into the accumulated group. Only called when the row has the same sort key as the group started inreset(org.apache.druid.frame.Frame, int). -
getCombinedColumnSelectorFactory
ColumnSelectorFactory getCombinedColumnSelectorFactory()Returns aColumnSelectorFactorybacked by the accumulated combined values. Used internally byFrameChannelMergerfor writing combined rows via FrameWriter. For key columns, returns values from the first row of the group. For value columns, returns the result of combining all rows.
-