public interface GroupByStrategy
Modifier and Type | Method and Description |
---|---|
QueryRunner<Row> |
createIntervalChunkingRunner(IntervalChunkingQueryRunnerDecorator decorator,
QueryRunner<Row> runner,
GroupByQueryQueryToolChest toolChest)
Decorate a runner with an interval chunking decorator.
|
boolean |
doMergeResults(GroupByQuery query)
Indicates if this query should undergo "mergeResults" or not.
|
boolean |
isCacheable(boolean willMergeRunners)
Indicates this strategy is cacheable or not.
|
Sequence<Row> |
mergeResults(QueryRunner<Row> baseRunner,
GroupByQuery query,
Map<String,Object> responseContext) |
QueryRunner<Row> |
mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<Row>> queryRunners) |
GroupByQueryResource |
prepareResource(GroupByQuery query,
boolean willMergeRunners)
Initializes resources required for a broker to process the given query.
|
Sequence<Row> |
process(GroupByQuery query,
StorageAdapter storageAdapter) |
Sequence<Row> |
processSubqueryResult(GroupByQuery subquery,
GroupByQuery query,
GroupByQueryResource resource,
Sequence<Row> subqueryResult) |
GroupByQueryResource prepareResource(GroupByQuery query, boolean willMergeRunners)
query
- a groupBy query to be processedboolean isCacheable(boolean willMergeRunners)
willMergeRunners
parameter can be used for distinguishing the caller is a broker or a data node.willMergeRunners
- indicates that QueryRunnerFactory.mergeRunners(ExecutorService, Iterable)
will be
called on the cached by-segment resultsboolean doMergeResults(GroupByQuery query)
QueryRunner<Row> createIntervalChunkingRunner(IntervalChunkingQueryRunnerDecorator decorator, QueryRunner<Row> runner, GroupByQueryQueryToolChest toolChest)
Sequence<Row> mergeResults(QueryRunner<Row> baseRunner, GroupByQuery query, Map<String,Object> responseContext)
Sequence<Row> processSubqueryResult(GroupByQuery subquery, GroupByQuery query, GroupByQueryResource resource, Sequence<Row> subqueryResult)
QueryRunner<Row> mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec, Iterable<QueryRunner<Row>> queryRunners)
Sequence<Row> process(GroupByQuery query, StorageAdapter storageAdapter)
Copyright © 2011–2017. All rights reserved.