| Modifier and Type | Method and Description |
|---|---|
GroupByQuery |
GroupByQuery.Builder.build() |
GroupByQuery |
GroupByQuery.withAggregatorSpecs(List<AggregatorFactory> aggregatorSpecs) |
GroupByQuery |
GroupByQuery.withDimensionSpecs(List<DimensionSpec> dimensionSpecs) |
GroupByQuery |
GroupByQuery.withDimFilter(DimFilter dimFilter) |
GroupByQuery |
GroupByQuery.withLimitSpec(LimitSpec limitSpec) |
GroupByQuery |
GroupByQuery.withOverriddenContext(Map<String,Object> contextOverride) |
GroupByQuery |
GroupByQuery.withPostAggregatorSpecs(List<PostAggregator> postAggregatorSpecs) |
GroupByQuery |
GroupByQuery.withQuerySegmentSpec(QuerySegmentSpec spec) |
GroupByQuery |
GroupByQuery.withSubtotalsSpec(List<List<String>> subtotalsSpec) |
GroupByQuery |
GroupByQuery.withVirtualColumns(VirtualColumns virtualColumns) |
| Modifier and Type | Method and Description |
|---|---|
CacheStrategy<ResultRow,Object,GroupByQuery> |
GroupByQueryQueryToolChest.getCacheStrategy(GroupByQuery query) |
QueryToolChest<ResultRow,GroupByQuery> |
GroupByQueryRunnerFactory.getToolchest() |
| Modifier and Type | Method and Description |
|---|---|
static <T> Pair<IncrementalIndex,Accumulator<IncrementalIndex,T>> |
GroupByQueryHelper.createIndexAccumulatorPair(GroupByQuery query,
GroupByQuery subquery,
GroupByQueryConfig config,
NonBlockingPool<ByteBuffer> bufferPool) |
com.fasterxml.jackson.databind.ObjectMapper |
GroupByQueryQueryToolChest.decorateObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper,
GroupByQuery query) |
static ResultRow |
ResultRow.fromLegacyRow(Row row,
GroupByQuery query)
Create a row based on a legacy
Row that was generated by a given GroupByQuery. |
CacheStrategy<ResultRow,Object,GroupByQuery> |
GroupByQueryQueryToolChest.getCacheStrategy(GroupByQuery query) |
void |
GroupByQueryMetrics.granularity(GroupByQuery query)
Sets the granularity of
BaseQuery.getGranularity() of the given query as dimension. |
void |
DefaultGroupByQueryMetrics.granularity(GroupByQuery query) |
static boolean |
GroupByQueryQueryToolChest.isNestedQueryPushDown(GroupByQuery q,
GroupByStrategy strategy) |
static IncrementalIndex |
GroupByQueryHelper.makeIncrementalIndex(GroupByQuery query,
GroupByQuery subquery,
GroupByQueryConfig config,
NonBlockingPool<ByteBuffer> bufferPool,
Sequence<ResultRow> rows) |
GroupByQueryMetrics |
GroupByQueryQueryToolChest.makeMetrics(GroupByQuery query) |
com.google.common.base.Function<ResultRow,ResultRow> |
GroupByQueryQueryToolChest.makePostComputeManipulatorFn(GroupByQuery query,
MetricManipulationFn fn) |
com.google.common.base.Function<ResultRow,ResultRow> |
GroupByQueryQueryToolChest.makePreComputeManipulatorFn(GroupByQuery query,
MetricManipulationFn fn) |
void |
GroupByQueryMetrics.numComplexMetrics(GroupByQuery query)
Sets the number of "complex" metrics of the given groupBy query as dimension.
|
void |
DefaultGroupByQueryMetrics.numComplexMetrics(GroupByQuery query) |
void |
GroupByQueryMetrics.numDimensions(GroupByQuery query)
Sets the size of
getDimensions() of the given query as dimension. |
void |
DefaultGroupByQueryMetrics.numDimensions(GroupByQuery query) |
void |
GroupByQueryMetrics.numMetrics(GroupByQuery query)
Sets the number of metrics of the given groupBy query as dimension.
|
void |
DefaultGroupByQueryMetrics.numMetrics(GroupByQuery query) |
static Sequence<ResultRow> |
GroupByQueryHelper.postAggregate(GroupByQuery query,
IncrementalIndex<?> index) |
Sequence<Row> |
GroupByQueryEngine.process(GroupByQuery query,
StorageAdapter storageAdapter) |
void |
DefaultGroupByQueryMetrics.query(GroupByQuery query) |
RowSignature |
GroupByQueryQueryToolChest.resultArraySignature(GroupByQuery query) |
Sequence<Object[]> |
GroupByQueryQueryToolChest.resultsAsArrays(GroupByQuery query,
Sequence<ResultRow> resultSequence) |
Map<String,Object> |
ResultRow.toMap(GroupByQuery query)
Returns a Map representation of the data in this row.
|
MapBasedRow |
ResultRow.toMapBasedRow(GroupByQuery query)
Returns a
Row representation of the data in this row. |
static ResultRow |
GroupByQueryHelper.toResultRow(GroupByQuery query,
Row row) |
GroupByQueryConfig |
GroupByQueryConfig.withOverrides(GroupByQuery query) |
| Constructor and Description |
|---|
Builder(GroupByQuery query) |
| Modifier and Type | Method and Description |
|---|---|
static Pair<Grouper<RowBasedGrouperHelper.RowBasedKey>,Accumulator<AggregateResult,ResultRow>> |
RowBasedGrouperHelper.createGrouperAccumulatorPair(GroupByQuery query,
GroupByQuery subquery,
GroupByQueryConfig config,
com.google.common.base.Supplier<ByteBuffer> bufferSupplier,
LimitedTemporaryStorage temporaryStorage,
com.fasterxml.jackson.databind.ObjectMapper spillMapper,
int mergeBufferSize)
Create a single-threaded grouper and accumulator.
|
static Pair<Grouper<RowBasedGrouperHelper.RowBasedKey>,Accumulator<AggregateResult,ResultRow>> |
RowBasedGrouperHelper.createGrouperAccumulatorPair(GroupByQuery query,
GroupByQuery subquery,
GroupByQueryConfig config,
com.google.common.base.Supplier<ByteBuffer> bufferSupplier,
ReferenceCountingResourceHolder<ByteBuffer> combineBufferHolder,
int concurrencyHint,
LimitedTemporaryStorage temporaryStorage,
com.fasterxml.jackson.databind.ObjectMapper spillMapper,
com.google.common.util.concurrent.ListeningExecutorService grouperSorter,
int priority,
boolean hasQueryTimeout,
long queryTimeoutAt,
int mergeBufferSize)
Create a
Grouper that groups according to the dimensions and aggregators in "query", along with
an Accumulator that accepts ResultRows and forwards them to the grouper. |
static ColumnSelectorFactory |
RowBasedGrouperHelper.createResultRowBasedColumnSelectorFactory(GroupByQuery query,
com.google.common.base.Supplier<ResultRow> supplier)
Creates a
ColumnSelectorFactory that can read rows which originate as results of the provided "query". |
static int |
GroupByQueryEngineV2.getCardinalityForArrayAggregation(GroupByQueryConfig querySpecificConfig,
GroupByQuery query,
StorageAdapter storageAdapter,
ByteBuffer buffer)
Returns the cardinality of array needed to do array-based aggregation, or -1 if array-based aggregation
is impossible.
|
static CloseableGrouperIterator<RowBasedGrouperHelper.RowBasedKey,ResultRow> |
RowBasedGrouperHelper.makeGrouperIterator(Grouper<RowBasedGrouperHelper.RowBasedKey> grouper,
GroupByQuery query,
Closeable closeable) |
static CloseableGrouperIterator<RowBasedGrouperHelper.RowBasedKey,ResultRow> |
RowBasedGrouperHelper.makeGrouperIterator(Grouper<RowBasedGrouperHelper.RowBasedKey> grouper,
GroupByQuery query,
List<String> dimsToInclude,
Closeable closeable) |
static GroupByRowProcessor.ResultSupplier |
GroupByRowProcessor.process(GroupByQuery query,
GroupByQuery subquery,
Sequence<ResultRow> rows,
GroupByQueryConfig config,
GroupByQueryResource resource,
com.fasterxml.jackson.databind.ObjectMapper spillMapper,
String processingTmpDir,
int mergeBufferSize)
Process the input of sequence "rows" (output by "subquery") based on "query" and returns a
GroupByRowProcessor.ResultSupplier. |
static Sequence<ResultRow> |
GroupByQueryEngineV2.process(GroupByQuery query,
StorageAdapter storageAdapter,
NonBlockingPool<ByteBuffer> intermediateResultsBufferPool,
GroupByQueryConfig querySpecificConfig,
QueryConfig queryConfig) |
| Constructor and Description |
|---|
GroupByBinaryFnV2(GroupByQuery query) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
VectorGroupByEngine.canVectorize(GroupByQuery query,
StorageAdapter adapter,
Filter filter) |
static Sequence<ResultRow> |
VectorGroupByEngine.process(GroupByQuery query,
StorageAdapter storageAdapter,
ByteBuffer processingBuffer,
org.joda.time.DateTime fudgeTimestamp,
Filter filter,
org.joda.time.Interval interval,
GroupByQueryConfig config,
QueryConfig queryConfig) |
| Modifier and Type | Method and Description |
|---|---|
void |
OrHavingSpec.setQuery(GroupByQuery query) |
void |
AndHavingSpec.setQuery(GroupByQuery query) |
void |
LessThanHavingSpec.setQuery(GroupByQuery query) |
void |
GreaterThanHavingSpec.setQuery(GroupByQuery query) |
void |
DimFilterHavingSpec.setQuery(GroupByQuery query) |
void |
EqualToHavingSpec.setQuery(GroupByQuery query) |
void |
AlwaysHavingSpec.setQuery(GroupByQuery query) |
void |
NotHavingSpec.setQuery(GroupByQuery query) |
void |
DimensionSelectorHavingSpec.setQuery(GroupByQuery query) |
void |
NeverHavingSpec.setQuery(GroupByQuery query) |
void |
HavingSpec.setQuery(GroupByQuery query)
Informs this HavingSpec that rows passed to "eval" will originate from a particular groupBy query.
|
| Modifier and Type | Method and Description |
|---|---|
com.google.common.base.Function<Sequence<ResultRow>,Sequence<ResultRow>> |
DefaultLimitSpec.build(GroupByQuery query) |
com.google.common.base.Function<Sequence<ResultRow>,Sequence<ResultRow>> |
LimitSpec.build(GroupByQuery query)
Returns a function that applies a limit to an input sequence that is assumed to be sorted on dimensions.
|
com.google.common.base.Function<Sequence<ResultRow>,Sequence<ResultRow>> |
NoopLimitSpec.build(GroupByQuery query) |
| Modifier and Type | Method and Description |
|---|---|
Sequence<ResultRow> |
GroupByStrategy.applyPostProcessing(Sequence<ResultRow> results,
GroupByQuery query)
Apply the
GroupByQuery "postProcessingFn", which is responsible for HavingSpec and LimitSpec. |
Sequence<ResultRow> |
GroupByStrategyV1.applyPostProcessing(Sequence<ResultRow> results,
GroupByQuery query) |
Sequence<ResultRow> |
GroupByStrategyV2.applyPostProcessing(Sequence<ResultRow> results,
GroupByQuery query) |
boolean |
GroupByStrategy.doMergeResults(GroupByQuery query)
Indicates if this query should undergo "mergeResults" or not.
|
boolean |
GroupByStrategyV1.doMergeResults(GroupByQuery query) |
boolean |
GroupByStrategyV2.doMergeResults(GroupByQuery query) |
Sequence<ResultRow> |
GroupByStrategy.mergeResults(QueryRunner<ResultRow> baseRunner,
GroupByQuery query,
ResponseContext responseContext)
Runs a provided
QueryRunner on a provided GroupByQuery, which is assumed to return rows that are
properly sorted (by timestamp and dimensions) but not necessarily fully merged (that is, there may be adjacent
rows with the same timestamp and dimensions) and without PostAggregators computed. |
Sequence<ResultRow> |
GroupByStrategyV1.mergeResults(QueryRunner<ResultRow> baseRunner,
GroupByQuery query,
ResponseContext responseContext) |
Sequence<ResultRow> |
GroupByStrategyV2.mergeResults(QueryRunner<ResultRow> baseRunner,
GroupByQuery query,
ResponseContext responseContext) |
GroupByQueryResource |
GroupByStrategy.prepareResource(GroupByQuery query)
Initializes resources required to run
GroupByQueryQueryToolChest.mergeResults(QueryRunner) for a
particular query. |
GroupByQueryResource |
GroupByStrategyV1.prepareResource(GroupByQuery query) |
GroupByQueryResource |
GroupByStrategyV2.prepareResource(GroupByQuery query) |
Sequence<ResultRow> |
GroupByStrategy.process(GroupByQuery query,
StorageAdapter storageAdapter)
Process a groupBy query on a single
StorageAdapter. |
Sequence<ResultRow> |
GroupByStrategyV1.process(GroupByQuery query,
StorageAdapter storageAdapter) |
Sequence<ResultRow> |
GroupByStrategyV2.process(GroupByQuery query,
StorageAdapter storageAdapter) |
Sequence<ResultRow> |
GroupByStrategy.processSubqueryResult(GroupByQuery subquery,
GroupByQuery query,
GroupByQueryResource resource,
Sequence<ResultRow> subqueryResult,
boolean wasQueryPushedDown)
Called by
GroupByQueryQueryToolChest.mergeResults(QueryRunner) when it needs to process a subquery. |
Sequence<ResultRow> |
GroupByStrategyV1.processSubqueryResult(GroupByQuery subquery,
GroupByQuery query,
GroupByQueryResource resource,
Sequence<ResultRow> subqueryResult,
boolean wasQueryPushedDown) |
Sequence<ResultRow> |
GroupByStrategyV2.processSubqueryResult(GroupByQuery subquery,
GroupByQuery query,
GroupByQueryResource resource,
Sequence<ResultRow> subqueryResult,
boolean wasQueryPushedDown) |
Sequence<ResultRow> |
GroupByStrategy.processSubtotalsSpec(GroupByQuery query,
GroupByQueryResource resource,
Sequence<ResultRow> queryResult)
Called by
GroupByQueryQueryToolChest.mergeResults(QueryRunner) when it needs to generate subtotals. |
Sequence<ResultRow> |
GroupByStrategyV1.processSubtotalsSpec(GroupByQuery query,
GroupByQueryResource resource,
Sequence<ResultRow> queryResult) |
Sequence<ResultRow> |
GroupByStrategyV2.processSubtotalsSpec(GroupByQuery query,
GroupByQueryResource resource,
Sequence<ResultRow> queryResult) |
GroupByStrategy |
GroupByStrategySelector.strategize(GroupByQuery query) |
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.