public static class GenericUDAFSum.GenericUDAFSumHiveDecimal extends GenericUDAFSum.GenericUDAFSumEvaluator<org.apache.hadoop.hive.serde2.io.HiveDecimalWritable>
GenericUDAFEvaluator.AbstractAggregationBuffer, GenericUDAFEvaluator.AggregationBuffer, GenericUDAFEvaluator.AggregationType, GenericUDAFEvaluator.Mode
inputOI, isWindowing, outputOI, result, sumDistinct
partitionEvaluator
Constructor and Description |
---|
GenericUDAFSumHiveDecimal() |
Modifier and Type | Method and Description |
---|---|
protected BasePartitionEvaluator |
createPartitionEvaluator(WindowFrameDef winFrame,
PTFPartition partition,
List<PTFExpressionDef> parameters,
ObjectInspector outputOI)
This class needs to be overridden by the child class to implement function
specific evaluator.
|
GenericUDAFEvaluator.AggregationBuffer |
getNewAggregationBuffer()
Get a new aggregation object.
|
static DecimalTypeInfo |
getOutputDecimalTypeInfoForSum(int inputPrecision,
int inputScale,
GenericUDAFEvaluator.Mode mode) |
GenericUDAFEvaluator |
getWindowingEvaluator(WindowFrameDef wFrameDef)
When evaluating an aggregates over a fixed Window, the naive way to compute
results is to compute the aggregate for each row.
|
ObjectInspector |
init(GenericUDAFEvaluator.Mode m,
ObjectInspector[] parameters)
Initialize the evaluator.
|
void |
iterate(GenericUDAFEvaluator.AggregationBuffer agg,
Object[] parameters)
Iterate through original data.
|
void |
merge(GenericUDAFEvaluator.AggregationBuffer agg,
Object partial)
Merge with partial aggregation result.
|
void |
reset(GenericUDAFEvaluator.AggregationBuffer agg)
Reset the aggregation.
|
Object |
terminate(GenericUDAFEvaluator.AggregationBuffer agg)
Get final aggregation result.
|
isEligibleValue, isWindowingDistinct, setSumDistinct, setWindowing, terminatePartial
aggregate, close, configure, estimate, evaluate, getExprString, getPartitionWindowingEvaluator, isEstimable
public ObjectInspector init(GenericUDAFEvaluator.Mode m, ObjectInspector[] parameters) throws HiveException
GenericUDAFEvaluator
init
in class GenericUDAFEvaluator
m
- The mode of aggregation.parameters
- The ObjectInspector for the parameters: In PARTIAL1 and COMPLETE
mode, the parameters are original data; In PARTIAL2 and FINAL
mode, the parameters are just partial aggregations (in that case,
the array will always have a single element).HiveException
public static DecimalTypeInfo getOutputDecimalTypeInfoForSum(int inputPrecision, int inputScale, GenericUDAFEvaluator.Mode mode)
public GenericUDAFEvaluator.AggregationBuffer getNewAggregationBuffer() throws HiveException
GenericUDAFEvaluator
getNewAggregationBuffer
in class GenericUDAFEvaluator
HiveException
public void reset(GenericUDAFEvaluator.AggregationBuffer agg) throws HiveException
GenericUDAFEvaluator
reset
in class GenericUDAFEvaluator
HiveException
public void iterate(GenericUDAFEvaluator.AggregationBuffer agg, Object[] parameters) throws HiveException
GenericUDAFEvaluator
iterate
in class GenericUDAFEvaluator
parameters
- The objects of parameters.HiveException
public void merge(GenericUDAFEvaluator.AggregationBuffer agg, Object partial) throws HiveException
GenericUDAFEvaluator
merge
in class GenericUDAFEvaluator
partial
- The partial aggregation result.HiveException
public Object terminate(GenericUDAFEvaluator.AggregationBuffer agg) throws HiveException
GenericUDAFEvaluator
terminate
in class GenericUDAFEvaluator
HiveException
public GenericUDAFEvaluator getWindowingEvaluator(WindowFrameDef wFrameDef)
GenericUDAFEvaluator
This method is called after this Evaluator is initialized. The returned Function must be initialized. It is passed the 'window' of aggregation for each row.
getWindowingEvaluator
in class GenericUDAFEvaluator
wFrameDef
- the Window definition in play for this evaluation.protected BasePartitionEvaluator createPartitionEvaluator(WindowFrameDef winFrame, PTFPartition partition, List<PTFExpressionDef> parameters, ObjectInspector outputOI)
GenericUDAFEvaluator
createPartitionEvaluator
in class GenericUDAFEvaluator
Copyright © 2022 The Apache Software Foundation. All rights reserved.