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 Details

    • init

      void init(FrameReader frameReader)
      Initialize with the FrameReader for understanding frame schema and format.
    • reset

      void reset(Frame frame, int row)
      Start a new group with the given row from the given frame. Reads and stores values from this row.
    • combine

      void combine(Frame frame, int row)
      Fold another row into the accumulated group. Only called when the row has the same sort key as the group started in reset(org.apache.druid.frame.Frame, int).
    • getCombinedColumnSelectorFactory

      ColumnSelectorFactory getCombinedColumnSelectorFactory()
      Returns a ColumnSelectorFactory backed by the accumulated combined values. Used internally by FrameChannelMerger for 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.