@Override protected void doIterate(AverageAggregationBuffer<HiveDecimal> aggregation, PrimitiveObjectInspector oi, Object parameter) { HiveDecimal value = PrimitiveObjectInspectorUtils.getHiveDecimal(parameter, oi); aggregation.count++; if (aggregation.sum != null) { aggregation.sum = aggregation.sum.add(value); } }
@Override protected void doMerge(AverageAggregationBuffer<HiveDecimal> aggregation, Long partialCount, ObjectInspector sumFieldOI, Object partialSum) { HiveDecimal value = ((HiveDecimalObjectInspector)sumFieldOI).getPrimitiveJavaObject(partialSum); if (value == null) { aggregation.sum = null; } aggregation.count += partialCount; if (aggregation.sum != null) { aggregation.sum = aggregation.sum.add(value); } }
@Override protected void doIterate(AverageAggregationBuffer<HiveDecimal> aggregation, PrimitiveObjectInspector oi, Object parameter) { HiveDecimal value = PrimitiveObjectInspectorUtils.getHiveDecimal(parameter, oi); aggregation.count++; if (aggregation.sum != null) { aggregation.sum = aggregation.sum.add(value); } }
@Override protected void doMerge(AverageAggregationBuffer<HiveDecimal> aggregation, Long partialCount, ObjectInspector sumFieldOI, Object partialSum) { HiveDecimal value = ((HiveDecimalObjectInspector)sumFieldOI).getPrimitiveJavaObject(partialSum); if (value == null) { aggregation.sum = null; } aggregation.count += partialCount; if (aggregation.sum != null) { aggregation.sum = aggregation.sum.add(value); } }
@Override protected void doMergeAdd( HiveDecimal sum, ObjectInspectorObject obj) { sum.add(PrimitiveObjectInspectorUtils.getHiveDecimal(obj.getValues()[0], copiedOI)); }
@Override protected void doMergeAdd( HiveDecimal sum, ObjectInspectorObject obj) { sum.add(PrimitiveObjectInspectorUtils.getHiveDecimal(obj.getValues()[0], copiedOI)); }
@Override protected HiveDecimalWritable evaluate(HiveDecimal left, HiveDecimal right) { if (right.compareTo(HiveDecimal.ZERO) == 0) { return null; } HiveDecimal dec = left.remainder(right).add(right).remainder(right); if (dec == null) { return null; } decimalWritable.set(dec); return decimalWritable; }
@Override protected HiveDecimalWritable evaluate(HiveDecimal left, HiveDecimal right) { if (right.compareTo(HiveDecimal.ZERO) == 0) { return null; } HiveDecimal dec = left.remainder(right).add(right).remainder(right); if (dec == null) { return null; } decimalWritable.set(dec); return decimalWritable; }
resultDecimal.set(val.getHiveDecimal().add(HiveDecimal.create("10"))); val = resultDecimal;
private IntWritable evaluate(HiveDecimal exprValue, HiveDecimal minValue, HiveDecimal maxValue, int numBuckets) { Preconditions.checkArgument(numBuckets > 0, "numBuckets in width_bucket function must be above 0"); Preconditions.checkArgument(!maxValue.equals(minValue), "maxValue cannot be equal to minValue in width_bucket function"); if (maxValue.compareTo(minValue) > 0) { if (exprValue.compareTo(minValue) < 0) { output.set(0); } else if (exprValue.compareTo(maxValue) >= 0) { output.set(numBuckets + 1); } else { output.set(HiveDecimal.create(numBuckets).multiply(exprValue.subtract(minValue)).divide( maxValue.subtract(minValue)).add(HiveDecimal.ONE).intValue()); } } else { if (exprValue.compareTo(minValue) > 0) { output.set(0); } else if (exprValue.compareTo(maxValue) <= 0) { output.set(numBuckets + 1); } else { output.set(HiveDecimal.create(numBuckets).multiply(minValue.subtract(exprValue)).divide( minValue.subtract(maxValue)).add(HiveDecimal.ONE).intValue()); } } return output; }
@Override protected void doIterate(AverageAggregationBuffer<HiveDecimal> aggregation, PrimitiveObjectInspector oi, Object parameter) { HiveDecimal value = PrimitiveObjectInspectorUtils.getHiveDecimal(parameter, oi); aggregation.count++; if (aggregation.sum != null) { aggregation.sum = aggregation.sum.add(value); } }
@Override protected void doMerge(AverageAggregationBuffer<HiveDecimal> aggregation, Long partialCount, ObjectInspector sumFieldOI, Object partialSum) { HiveDecimal value = ((HiveDecimalObjectInspector)sumFieldOI).getPrimitiveJavaObject(partialSum); if (value == null) { aggregation.sum = null; } aggregation.count += partialCount; if (aggregation.sum != null) { aggregation.sum = aggregation.sum.add(value); } }
public static void addChecked(int i, HiveDecimal left, HiveDecimal right, DecimalColumnVector outputColVector) { try { outputColVector.set(i, left.add(right)); } catch (ArithmeticException e) { // catch on overflow outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
@Override public void merge(AggregationBuffer agg, Object partial) throws HiveException { if (partial != null) { SumHiveDecimalAgg myagg = (SumHiveDecimalAgg) agg; if (myagg.sum == null) { return; } myagg.empty = false; myagg.sum = myagg.sum.add(PrimitiveObjectInspectorUtils.getHiveDecimal(partial, inputOI)); } }
@Override protected HiveDecimalWritable evaluate(HiveDecimal left, HiveDecimal right) { HiveDecimal dec = left.add(right); if (dec == null) { return null; } decimalWritable.set(dec); return decimalWritable; }
public static void addChecked(int i, HiveDecimalWritable left, HiveDecimal right, DecimalColumnVector outputColVector) { try { outputColVector.set(i, left.getHiveDecimal().add(right)); } catch (ArithmeticException e) { // catch on overflow outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public static void addChecked(int i, HiveDecimal left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { try { outputColVector.set(i, left.add(right.getHiveDecimal())); } catch (ArithmeticException e) { // catch on overflow outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
public void sumValueNoNullCheck(HiveDecimalWritable writable, short scale) { HiveDecimal value = writable.getHiveDecimal(); HiveDecimal result; try { result = sum.getHiveDecimal().add(value); } catch (ArithmeticException e) { // catch on overflow isOutOfRange = true; return; } sum.set(result); count++; }
public static void addChecked(int i, HiveDecimalWritable left, HiveDecimalWritable right, DecimalColumnVector outputColVector) { try { outputColVector.set(i, left.getHiveDecimal().add(right.getHiveDecimal())); } catch (ArithmeticException e) { // catch on overflow outputColVector.noNulls = false; outputColVector.isNull[i] = true; } }
@Override protected HiveDecimalWritable evaluate(HiveDecimal left, HiveDecimal right) { if (right.compareTo(HiveDecimal.ZERO) == 0) { return null; } HiveDecimal dec = left.remainder(right).add(right).remainder(right); if (dec == null) { return null; } decimalWritable.set(dec); return decimalWritable; }