public static GenericUDAFEvaluator getGenericUDAFEvaluator2(String aggName,
      List<ObjectInspector> aggParameterOIs, ASTNode aggTree,
      boolean isDistinct, boolean isAllColumns)
      throws SemanticException {
    GenericUDAFEvaluator result = FunctionRegistry.getGenericUDAFEvaluator(
        aggName, aggParameterOIs, isDistinct, isAllColumns);
    if (null == result) {
      String reason = "Looking for UDAF Evaluator\"" + aggName
          + "\" with parameters " + aggParameterOIs;
      throw new SemanticException(ASTErrorUtils.getMsg(
          ErrorMsg.INVALID_FUNCTION_SIGNATURE.getMsg(),
          (ASTNode) aggTree.getChild(0), reason));
    }
    return result;
  }
Returns the GenericUDAFEvaluator for the aggregation. This is called once
for each GroupBy aggregation.
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java