Class GroupByQueryEngineV2.HashAggregateIterator
- java.lang.Object
-
- org.apache.druid.query.groupby.epinephelinae.GroupByQueryEngineV2.GroupByEngineIterator<ByteBuffer>
-
- org.apache.druid.query.groupby.epinephelinae.GroupByQueryEngineV2.HashAggregateIterator
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterator<ResultRow>
- Enclosing class:
- GroupByQueryEngineV2
public static class GroupByQueryEngineV2.HashAggregateIterator extends GroupByQueryEngineV2.GroupByEngineIterator<ByteBuffer>
-
-
Field Summary
Fields Modifier and Type Field Description protected ByteBuffer
keyBuffer
-
Fields inherited from class org.apache.druid.query.groupby.epinephelinae.GroupByQueryEngineV2.GroupByEngineIterator
allowMultiValueGrouping, allSingleValueDims, buffer, cursor, delegate, dims, keySerde, maxSelectorFootprint, query, querySpecificConfig, timestamp
-
-
Constructor Summary
Constructors Constructor Description HashAggregateIterator(GroupByQuery query, GroupByQueryConfig querySpecificConfig, DruidProcessingConfig processingConfig, Cursor cursor, ByteBuffer buffer, org.joda.time.DateTime fudgeTimestamp, GroupByColumnSelectorPlus[] dims, boolean allSingleValueDims)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
aggregateMultiValueDims(Grouper<ByteBuffer> grouper)
Grouping dimensions can be multi-valued, and thus the given grouper should handle them properly during aggregation.protected void
aggregateSingleValueDims(Grouper<ByteBuffer> grouper)
Grouping dimensions are all single-valued, and thus the given grouper don't have to worry about multi-valued dimensions.protected Grouper<ByteBuffer>
newGrouper()
Create a new grouper.protected void
putToRow(ByteBuffer key, ResultRow resultRow)
Add the key to the result row.-
Methods inherited from class org.apache.druid.query.groupby.epinephelinae.GroupByQueryEngineV2.GroupByEngineIterator
checkIfMultiValueGroupingIsAllowed, close, getSingleValue, hasNext, next, remove
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Field Detail
-
keyBuffer
protected final ByteBuffer keyBuffer
-
-
Constructor Detail
-
HashAggregateIterator
public HashAggregateIterator(GroupByQuery query, GroupByQueryConfig querySpecificConfig, DruidProcessingConfig processingConfig, Cursor cursor, ByteBuffer buffer, @Nullable org.joda.time.DateTime fudgeTimestamp, GroupByColumnSelectorPlus[] dims, boolean allSingleValueDims)
-
-
Method Detail
-
newGrouper
protected Grouper<ByteBuffer> newGrouper()
Description copied from class:GroupByQueryEngineV2.GroupByEngineIterator
Create a new grouper.- Specified by:
newGrouper
in classGroupByQueryEngineV2.GroupByEngineIterator<ByteBuffer>
-
aggregateSingleValueDims
protected void aggregateSingleValueDims(Grouper<ByteBuffer> grouper)
Description copied from class:GroupByQueryEngineV2.GroupByEngineIterator
Grouping dimensions are all single-valued, and thus the given grouper don't have to worry about multi-valued dimensions.- Specified by:
aggregateSingleValueDims
in classGroupByQueryEngineV2.GroupByEngineIterator<ByteBuffer>
-
aggregateMultiValueDims
protected void aggregateMultiValueDims(Grouper<ByteBuffer> grouper)
Description copied from class:GroupByQueryEngineV2.GroupByEngineIterator
Grouping dimensions can be multi-valued, and thus the given grouper should handle them properly during aggregation.- Specified by:
aggregateMultiValueDims
in classGroupByQueryEngineV2.GroupByEngineIterator<ByteBuffer>
-
putToRow
protected void putToRow(ByteBuffer key, ResultRow resultRow)
Description copied from class:GroupByQueryEngineV2.GroupByEngineIterator
Add the key to the result row. Some pre-processing like deserialization might be done for the key before adding to the map.- Specified by:
putToRow
in classGroupByQueryEngineV2.GroupByEngineIterator<ByteBuffer>
-
-