@Override
    public Object terminatePartial(AggregationBuffer agg) throws HiveException {
      // Return a single ArrayList where the first element is the number of histogram bins,
      // and subsequent elements represent histogram (x,y) pairs.
      StdAgg myagg = (StdAgg) agg;
      return myagg.histogram.serialize();
    }
Construct a histogram using an algorithm described by Ben-Haim and Tom-Tov.

The algorithm is a heuristic adapted from the following paper:
Yael Ben-Haim and Elad Tom-Tov, "A streaming parallel decision tree algorithm",
J. Machine Learning Research 11 (2010), pp. 849--872. Although there are no approximation
guarantees, it appears to work well with adequate data and a large (e.g., 20-80) number
of histogram bins.
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFHistogramNumeric.java