public class MiniBatchGroupAggFunction extends MapBundleFunction<BaseRow,List<BaseRow>,BaseRow,BaseRow>
This function buffers input row in heap HashMap, and aggregates them when minibatch invoked.
ctx
Constructor and Description |
---|
MiniBatchGroupAggFunction(GeneratedAggsHandleFunction genAggsHandler,
GeneratedRecordEqualiser genRecordEqualiser,
LogicalType[] accTypes,
RowType inputType,
int indexOfCountStar,
boolean generateRetraction)
Creates a
MiniBatchGroupAggFunction . |
Modifier and Type | Method and Description |
---|---|
List<BaseRow> |
addInput(List<BaseRow> value,
BaseRow input)
Adds the given input to the given value, returning the new bundle value.
|
void |
close() |
void |
finishBundle(Map<BaseRow,List<BaseRow>> buffer,
Collector<BaseRow> out)
Called when a bundle is finished.
|
void |
open(ExecutionContext ctx) |
public MiniBatchGroupAggFunction(GeneratedAggsHandleFunction genAggsHandler, GeneratedRecordEqualiser genRecordEqualiser, LogicalType[] accTypes, RowType inputType, int indexOfCountStar, boolean generateRetraction)
MiniBatchGroupAggFunction
.genAggsHandler
- The code generated function used to handle aggregates.genRecordEqualiser
- The code generated equaliser used to equal BaseRow.accTypes
- The accumulator types.inputType
- The input row type.indexOfCountStar
- The index of COUNT(*) in the aggregates.
-1 when the input doesn't contain COUNT(*), i.e. doesn't contain retraction messages.
We make sure there is a COUNT(*) if input stream contains retraction.generateRetraction
- Whether this operator will generate retraction.public void open(ExecutionContext ctx) throws Exception
public List<BaseRow> addInput(@Nullable List<BaseRow> value, BaseRow input) throws Exception
MapBundleFunction
public void finishBundle(Map<BaseRow,List<BaseRow>> buffer, Collector<BaseRow> out) throws Exception
MapBundleFunction
finishBundle
in class MapBundleFunction<BaseRow,List<BaseRow>,BaseRow,BaseRow>
Exception
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.