org.apache.hadoop.hive.ql.udf.generic
Interface GenericUDAFParameterInfo

All Known Implementing Classes:
SimpleGenericUDAFParameterInfo

public interface GenericUDAFParameterInfo

A callback interface used in conjunction with GenericUDAFResolver2 interface that allows for a more extensible and flexible means of discovering the parameter types provided for UDAF invocation. Apart from allowing the function implementation to discover the TypeInfo of any types provided in the invocation, this also allows the implementation to determine if the parameters were qualified using DISTINCT. If no parameters were specified explicitly, it allows the function implementation to test if the invocation used the wildcard syntax such as FUNCTION(*).

Note: The implementation of function does not have to handle the actual DISTINCT or wildcard implementation. This information is provided only to allow the function implementation to accept or reject such invocations. For example - the implementation of COUNT UDAF requires that the DISTINCT qualifier be supplied when more than one parameters are specified in the invocation. The actual filtering of data bound to parameter types for DISTINCT implementation is handled by the framework and not the COUNT UDAF implementation.


Method Summary
 ObjectInspector[] getParameterObjectInspectors()
           
 TypeInfo[] getParameters()
          Deprecated. 
 boolean isAllColumns()
          Returns true if the UDAF invocation was done via the wildcard syntax FUNCTION(*).
 boolean isDistinct()
          Returns true if the UDAF invocation was qualified with DISTINCT keyword.
 

Method Detail

getParameters

@Deprecated
TypeInfo[] getParameters()
Deprecated. 

Returns:
the parameter type list passed into the UDAF.

getParameterObjectInspectors

ObjectInspector[] getParameterObjectInspectors()
Returns:
getParameters() with types returned as ObjectInspectors.

isDistinct

boolean isDistinct()
Returns true if the UDAF invocation was qualified with DISTINCT keyword. Note that this is provided for informational purposes only and the function implementation is not expected to ensure the distinct property for the parameter values. That is handled by the framework.

Returns:
true if the UDAF invocation was qualified with DISTINCT keyword, false otherwise.

isAllColumns

boolean isAllColumns()
Returns true if the UDAF invocation was done via the wildcard syntax FUNCTION(*). Note that this is provided for informational purposes only and the function implementation is not expected to ensure the wildcard handling of the target relation. That is handled by the framework.

Returns:
true if the UDAF invocation was done with a wildcard instead of explicit parameter list.


Copyright © 2014 The Apache Software Foundation. All rights reserved.