return new GenericUDAFAverageEvaluatorDouble(); case DECIMAL: return new GenericUDAFAverageEvaluatorDecimal(); case BOOLEAN: case DATE:
@Override protected ObjectInspector getSumFieldWritableObjectInspector() { DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo(); return PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(typeInfo); }
@Override public AggregationBuffer getNewAggregationBuffer() throws HiveException { AverageAggregationBuffer<HiveDecimal> result = new AverageAggregationBuffer<HiveDecimal>(); reset(result); return result; }
@Override protected ObjectInspector getSumFieldJavaObjectInspector() { DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo(); return PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector(typeInfo); }
return new GenericUDAFAverageEvaluatorDouble(); case DECIMAL: return new GenericUDAFAverageEvaluatorDecimal(); case BOOLEAN: case DATE:
@Override public GenericUDAFEvaluator getWindowingEvaluator(WindowFrameDef wFrameDef) { if (isWindowingDistinct()) { return null;
return new GenericUDAFAverageEvaluatorDouble(); case DECIMAL: return new GenericUDAFAverageEvaluatorDecimal(); case BOOLEAN: case DATE:
@Override public GenericUDAFEvaluator getWindowingEvaluator(WindowFrameDef wFrameDef) { if (isWindowingDistinct()) { return null;
@Override protected ObjectInspector getSumFieldJavaObjectInspector() { DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo(); return PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector(typeInfo); }
@Override protected ObjectInspector getSumFieldWritableObjectInspector() { DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo(); return PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(typeInfo); }
@Override public void iterate(AggregationBuffer agg, Object[] parameters) throws HiveException { if (parameters[0] == null || parameters[1] == null) return; super.iterate(agg, new Object[] { parameters[1] }); } }
@Override public AggregationBuffer getNewAggregationBuffer() throws HiveException { AverageAggregationBuffer<HiveDecimal> result = new AverageAggregationBuffer<HiveDecimal>(); reset(result); return result; }
@Override public void iterate(AggregationBuffer agg, Object[] parameters) throws HiveException { if (parameters[0] == null || parameters[1] == null) return; super.iterate(agg, new Object[] { parameters[0] }); } }
private DecimalTypeInfo deriveResultDecimalTypeInfo() { return deriveResultDecimalTypeInfo(inputOI.precision(), inputOI.scale(), mode); }
@Override public AggregationBuffer getNewAggregationBuffer() throws HiveException { AverageAggregationBuffer<HiveDecimal> result = new AverageAggregationBuffer<HiveDecimal>(); reset(result); return result; }
@Override protected ObjectInspector getSumFieldWritableObjectInspector() { DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo(); return PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(typeInfo); }
@Override public void iterate(AggregationBuffer agg, Object[] parameters) throws HiveException { if (parameters[0] == null || parameters[1] == null) return; super.iterate(agg, new Object[] { parameters[1] }); } }