Class GroupByMergingQueryRunner

  • All Implemented Interfaces:
    QueryRunner<ResultRow>

    public class GroupByMergingQueryRunner
    extends Object
    implements QueryRunner<ResultRow>
    Class that knows how to merge a collection of groupBy QueryRunner objects, called queryables, using a buffer provided by mergeBufferPool and a parallel executor provided by exec. Outputs a fully aggregated stream of ResultRow objects. Does not apply post-aggregators. The input queryables are expected to come from a GroupByQueryEngine. This code primarily runs on data servers like Historicals and Realtime Tasks. This can also run on Brokers, if the query is operating on local data sources, like inlined data, where the broker itself acts like a data server This class has some resemblance to GroupByRowProcessor. See the javadoc of that class for a discussion of similarities and differences. Used by GroupingEngine.mergeRunners(QueryProcessingPool, Iterable)