Interface FramedOnHeapAggregatable

  • All Known Implementing Classes:
    DefaultFramedOnHeapAggregatable

    public interface FramedOnHeapAggregatable
    A semantic interface used to aggregate a list of AggregatorFactories across a given set of data

    The aggregation specifically happens on-heap and should be used in places where it is known that the data set can be worked with entirely on-heap. There is support for frame definitions, frames aggregate certain subsets of rows in a rolling fashion like a windowed average. Frames are defined in terms of boundaries where a boundary could be based on rows or it could be based on "PEER" groupings.

    A peer grouping is defined as a set of rows that are the same based on the ORDER BY columns specified. As such peer-grouped values must also come with a set of ORDER BY columns.

    • Method Detail

      • aggregateAll

        @Nonnull
        RowsAndColumns aggregateAll​(WindowFrame frame,
                                    AggregatorFactory[] aggFactories)
        Aggregates the data according to the WindowFrame using the AggregatorFactory objects provided.
        Parameters:
        frame - window frame definition
        aggFactories - definition of aggregations to be done
        Returns:
        a RowsAndColumns that contains columns representing the results of the aggregation from the AggregatorFactories