| 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(QueryProcessingPool queryProcessingPool,
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 | Field and Description |
|---|---|
protected CloseableGrouperIterator<KeyType,ResultRow> |
GroupByQueryEngineV2.GroupByEngineIterator.delegate |
| Modifier and Type | Method and Description |
|---|---|
ResultRow |
GroupByBinaryFnV2.apply(ResultRow arg1,
ResultRow arg2) |
ResultRow |
GroupByQueryEngineV2.GroupByEngineIterator.next() |
| Modifier and Type | Method and Description |
|---|---|
static Pair<Grouper<RowBasedGrouperHelper.RowBasedKey>,Accumulator<AggregateResult,ResultRow>> |
RowBasedGrouperHelper.createGrouperAccumulatorPair(GroupByQuery query,
GroupByQuery subquery,
GroupByQueryConfig config,
DruidProcessingConfig processingConfig,
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,
DruidProcessingConfig processingConfig,
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<DimensionSpec> dimsToInclude,
Closeable closeable) |
static Sequence<ResultRow> |
GroupByQueryEngineV2.process(GroupByQuery query,
StorageAdapter storageAdapter,
NonBlockingPool<ByteBuffer> intermediateResultsBufferPool,
GroupByQueryConfig querySpecificConfig,
DruidProcessingConfig processingConfig,
GroupByQueryMetrics groupByQueryMetrics) |
Sequence<ResultRow> |
GroupByRowProcessor.ResultSupplier.results(List<DimensionSpec> 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) |
protected void |
GroupByQueryEngineV2.HashAggregateIterator.putToRow(ByteBuffer key,
ResultRow resultRow) |
protected abstract void |
GroupByQueryEngineV2.GroupByEngineIterator.putToRow(KeyType key,
ResultRow resultRow)
Add the key to the result row.
|
| Modifier and Type | Method and Description |
|---|---|
static ColumnSelectorFactory |
RowBasedGrouperHelper.createResultRowBasedColumnSelectorFactory(GroupByQuery query,
com.google.common.base.Supplier<ResultRow> supplier,
RowSignature.Finalization finalization)
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,
DruidProcessingConfig processingConfig,
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,
DruidProcessingConfig processingConfig,
QueryProcessingPool queryProcessingPool,
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 |
ArrayStringGroupByColumnSelectorStrategy.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 |
ArrayNumericGroupByColumnSelectorStrategy.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,
DruidProcessingConfig processingConfig,
GroupByQueryMetrics groupByQueryMetrics) |
| Modifier and Type | Method and Description |
|---|---|
void |
DictionaryBuildingSingleValueStringGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
NilGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
SingleValueStringGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
GroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition)
Write key parts for this column into a particular result row.
|
void |
NullableFloatGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
DoubleGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
NullableLongGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
LongGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
NullableDoubleGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer keyMemory,
int keyOffset,
ResultRow resultRow,
int resultRowPosition) |
void |
FloatGroupByVectorColumnSelector.writeKeyToResultRow(MemoryPointer 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(QueryProcessingPool queryProcessingPool,
Iterable<QueryRunner<ResultRow>> queryRunners)
Merge a variety of single-segment query runners into a combined runner.
|
QueryRunner<ResultRow> |
GroupByStrategyV1.mergeRunners(QueryProcessingPool queryProcessingPool,
Iterable<QueryRunner<ResultRow>> queryRunners) |
QueryRunner<ResultRow> |
GroupByStrategyV2.mergeRunners(QueryProcessingPool queryProcessingPool,
Iterable<QueryRunner<ResultRow>> queryRunners) |
Sequence<ResultRow> |
GroupByStrategy.process(GroupByQuery query,
StorageAdapter storageAdapter,
GroupByQueryMetrics groupByQueryMetrics)
Process a groupBy query on a single
StorageAdapter. |
Sequence<ResultRow> |
GroupByStrategyV1.process(GroupByQuery query,
StorageAdapter storageAdapter,
GroupByQueryMetrics groupByQueryMetrics) |
Sequence<ResultRow> |
GroupByStrategyV2.process(GroupByQuery query,
StorageAdapter storageAdapter,
GroupByQueryMetrics groupByQueryMetrics) |
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(QueryProcessingPool queryProcessingPool,
Iterable<QueryRunner<ResultRow>> queryRunners)
Merge a variety of single-segment query runners into a combined runner.
|
QueryRunner<ResultRow> |
GroupByStrategyV1.mergeRunners(QueryProcessingPool queryProcessingPool,
Iterable<QueryRunner<ResultRow>> queryRunners) |
QueryRunner<ResultRow> |
GroupByStrategyV2.mergeRunners(QueryProcessingPool queryProcessingPool,
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–2022 The Apache Software Foundation. All rights reserved.