- All Superinterfaces:
- Accumulator<T>
- All Known Implementing Classes:
- IteratingAccumulatorEvalFunc
public interface TerminatingAccumulator<T>
extends Accumulator<T>
This is an interface which, if implemented, allows an Accumulator
function to signal that it can terminate early. Certain classes of
UDF to do not need access to an entire set of data in order to
finish processing. A model example is {org.apache.pig.builtin.IsEmpty}. IsEmpty
can be Accumulative as if it receives even one line, it knows that
it is not empty. Another example might be a UDF which does streaming
analysis, and once a given stream matches a criteria, can terminate
without needing any further analysis.