| Modifier and Type | Method and Description |
|---|---|
ResultRow |
ResultRow.copy()
Returns a copy of this row.
|
static ResultRow |
ResultRow.create(int size)
Create a row of a certain size, initialized to all nulls.
|
static ResultRow |
ResultRow.fromLegacyRow(Row row,
GroupByQuery query)
Create a row based on a legacy
Row that was generated by a given GroupByQuery. |
static ResultRow |
ResultRow.of(Object... row)
Create a row from an array of objects.
|
static ResultRow |
GroupByQueryHelper.toResultRow(GroupByQuery query,
Row row) |
| Modifier and Type | Method and Description |
|---|---|
BinaryOperator<ResultRow> |
GroupByQueryQueryToolChest.createMergeFn(Query<ResultRow> query) |
Comparator<ResultRow> |
GroupByQueryQueryToolChest.createResultComparator(Query<ResultRow> query) |
QueryRunner<ResultRow> |
GroupByQueryRunnerFactory.createRunner(Segment segment) |
CacheStrategy<ResultRow,Object,GroupByQuery> |
GroupByQueryQueryToolChest.getCacheStrategy(GroupByQuery query) |
com.fasterxml.jackson.core.type.TypeReference<ResultRow> |
GroupByQueryQueryToolChest.getResultTypeReference() |
com.google.common.collect.Ordering<ResultRow> |
GroupByQuery.getRowOrdering(boolean granular) |
QueryToolChest<ResultRow,GroupByQuery> |
GroupByQueryRunnerFactory.getToolchest() |
com.google.common.base.Function<ResultRow,ResultRow> |
GroupByQueryQueryToolChest.makePostComputeManipulatorFn(GroupByQuery query,
MetricManipulationFn fn) |
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) |
com.google.common.base.Function<ResultRow,ResultRow> |
GroupByQueryQueryToolChest.makePreComputeManipulatorFn(GroupByQuery query,
MetricManipulationFn fn) |
QueryRunner<ResultRow> |
GroupByQueryQueryToolChest.mergeResults(QueryRunner<ResultRow> runner) |
QueryRunner<ResultRow> |
GroupByQueryRunnerFactory.mergeRunners(ExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners) |
static Sequence<ResultRow> |
GroupByQueryHelper.postAggregate(GroupByQuery query,
IncrementalIndex<?> index) |
Sequence<ResultRow> |
GroupByQuery.postProcess(Sequence<ResultRow> results)
Apply the havingSpec and limitSpec.
|
QueryRunner<ResultRow> |
GroupByQueryQueryToolChest.preMergeQueryDecoration(QueryRunner<ResultRow> runner) |
Query<ResultRow> |
GroupByQuery.withDataSource(DataSource dataSource) |
| Modifier and Type | Method and Description |
|---|---|
ResultRow |
GroupByBinaryFnV2.apply(ResultRow arg1,
ResultRow arg2) |
| 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 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 Sequence<ResultRow> |
GroupByQueryEngineV2.process(GroupByQuery query,
StorageAdapter storageAdapter,
NonBlockingPool<ByteBuffer> intermediateResultsBufferPool,
GroupByQueryConfig querySpecificConfig,
QueryConfig queryConfig) |
Sequence<ResultRow> |
GroupByRowProcessor.ResultSupplier.results(List<String> dimensionsToInclude)
Return a result sequence.
|
Sequence<ResultRow> |
GroupByMergingQueryRunnerV2.run(QueryPlus<ResultRow> queryPlus,
ResponseContext responseContext) |
| Modifier and Type | Method and Description |
|---|---|
ResultRow |
GroupByBinaryFnV2.apply(ResultRow arg1,
ResultRow arg2) |
static void |
GroupByQueryEngineV2.convertRowTypesToOutputTypes(List<DimensionSpec> dimensionSpecs,
ResultRow resultRow,
int resultRowDimensionStart) |
| Modifier and Type | Method and Description |
|---|---|
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 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. |
Sequence<ResultRow> |
GroupByMergingQueryRunnerV2.run(QueryPlus<ResultRow> queryPlus,
ResponseContext responseContext) |
| Constructor and Description |
|---|
GroupByMergingQueryRunnerV2(GroupByQueryConfig config,
ExecutorService exec,
QueryWatcher queryWatcher,
Iterable<QueryRunner<ResultRow>> queryables,
int concurrencyHint,
BlockingPool<ByteBuffer> mergeBufferPool,
int mergeBufferSize,
com.fasterxml.jackson.databind.ObjectMapper spillMapper,
String processingTmpDir) |
| Modifier and Type | Method and Description |
|---|---|
void |
DictionaryBuildingStringGroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition) |
void |
DoubleGroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition) |
void |
FloatGroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition) |
void |
StringGroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition) |
void |
NullableNumericGroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition) |
void |
GroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition)
Read a value from a grouping key and add it to the group by query result row, using the output name specified
in a DimensionSpec.
|
void |
LongGroupByColumnSelectorStrategy.processValueFromGroupingKey(GroupByColumnSelectorPlus selectorPlus,
ByteBuffer key,
ResultRow resultRow,
int keyBufferPosition) |
| Modifier and Type | Method and Description |
|---|---|
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 |
SingleValueStringGroupByVectorColumnSelector.writeKeyToResultRow(org.apache.datasketches.memory.Memory keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
GroupByVectorColumnSelector.writeKeyToResultRow(org.apache.datasketches.memory.Memory keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition)
Write key parts for this column into a particular result row.
|
void |
DoubleGroupByVectorColumnSelector.writeKeyToResultRow(org.apache.datasketches.memory.Memory keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
LongGroupByVectorColumnSelector.writeKeyToResultRow(org.apache.datasketches.memory.Memory keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
FloatGroupByVectorColumnSelector.writeKeyToResultRow(org.apache.datasketches.memory.Memory keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
OrHavingSpec.eval(ResultRow row) |
boolean |
AndHavingSpec.eval(ResultRow row) |
boolean |
LessThanHavingSpec.eval(ResultRow row) |
boolean |
GreaterThanHavingSpec.eval(ResultRow row) |
boolean |
DimFilterHavingSpec.eval(ResultRow row) |
boolean |
EqualToHavingSpec.eval(ResultRow row) |
boolean |
AlwaysHavingSpec.eval(ResultRow row) |
boolean |
NotHavingSpec.eval(ResultRow row) |
boolean |
DimensionSelectorHavingSpec.eval(ResultRow row) |
boolean |
NeverHavingSpec.eval(ResultRow row) |
boolean |
HavingSpec.eval(ResultRow row)
Evaluates if a given row satisfies the having spec.
|
| 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>> |
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>> |
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) |
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) |
default BinaryOperator<ResultRow> |
GroupByStrategy.createMergeFn(Query<ResultRow> query)
See
QueryToolChest.createMergeFn(Query) for details, allows
GroupByQueryQueryToolChest to delegate implementation to the strategy |
BinaryOperator<ResultRow> |
GroupByStrategyV2.createMergeFn(Query<ResultRow> queryParam) |
default Comparator<ResultRow> |
GroupByStrategy.createResultComparator(Query<ResultRow> queryParam)
See
QueryToolChest.createResultComparator(Query), allows
GroupByQueryQueryToolChest to delegate implementation to the strategy |
Comparator<ResultRow> |
GroupByStrategyV2.createResultComparator(Query<ResultRow> queryParam) |
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) |
QueryRunner<ResultRow> |
GroupByStrategy.mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners)
Merge a variety of single-segment query runners into a combined runner.
|
QueryRunner<ResultRow> |
GroupByStrategyV1.mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners) |
QueryRunner<ResultRow> |
GroupByStrategyV2.mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners) |
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) |
| 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) |
default BinaryOperator<ResultRow> |
GroupByStrategy.createMergeFn(Query<ResultRow> query)
See
QueryToolChest.createMergeFn(Query) for details, allows
GroupByQueryQueryToolChest to delegate implementation to the strategy |
BinaryOperator<ResultRow> |
GroupByStrategyV2.createMergeFn(Query<ResultRow> queryParam) |
default Comparator<ResultRow> |
GroupByStrategy.createResultComparator(Query<ResultRow> queryParam)
See
QueryToolChest.createResultComparator(Query), allows
GroupByQueryQueryToolChest to delegate implementation to the strategy |
Comparator<ResultRow> |
GroupByStrategyV2.createResultComparator(Query<ResultRow> queryParam) |
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) |
QueryRunner<ResultRow> |
GroupByStrategy.mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners)
Merge a variety of single-segment query runners into a combined runner.
|
QueryRunner<ResultRow> |
GroupByStrategyV1.mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners) |
QueryRunner<ResultRow> |
GroupByStrategyV2.mergeRunners(com.google.common.util.concurrent.ListeningExecutorService exec,
Iterable<QueryRunner<ResultRow>> queryRunners) |
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) |
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.