com.ebay.erl.mobius.core.function
Class Counts

java.lang.Object
  extended by com.ebay.erl.mobius.core.function.base.Projectable
      extended by com.ebay.erl.mobius.core.function.base.GroupFunction
          extended by com.ebay.erl.mobius.core.function.base.AggregateFunction
              extended by com.ebay.erl.mobius.core.function.base.SingleInputAggregateFunction
                  extended by com.ebay.erl.mobius.core.function.Counts
All Implemented Interfaces:
java.io.Serializable, org.apache.hadoop.conf.Configurable

public class Counts
extends SingleInputAggregateFunction

Counts the number of records of the given inputColumn in a group. Used only if the value of the given inputColumn is not null.

This product is licensed under the Apache License, Version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0. This product contains portions derived from Apache hadoop which is licensed under the Apache License, Version 2.0, available at http://hadoop.apache.org. © 2007 – 2012 eBay Inc., Evan Chiu, Woody Zhou, Neel Sundaresan

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.ebay.erl.mobius.core.function.base.SingleInputAggregateFunction
inputColumnName
 
Fields inherited from class com.ebay.erl.mobius.core.function.base.AggregateFunction
aggregateResult
 
Fields inherited from class com.ebay.erl.mobius.core.function.base.GroupFunction
rowsToBeOutputted
 
Fields inherited from class com.ebay.erl.mobius.core.function.base.Projectable
conf, hashCode, inputs, outputSchema, reporter, requireDataFromMultiDatasets
 
Constructor Summary
Counts(Column inputColumn)
          Create an instance of Counts that counting the number of occurrence of inputColumn in a group.
 
Method Summary
 void consume(Tuple tuple)
          consume a value within a group, to be implemented by sub-class.
protected  Tuple getComputedResult()
          Return the computed result in a Tuple.
 boolean isCombinable()
          Determine this function can be run in a combiner or not, default is false.
 void reset()
          Empty previous result (rowsToBeOutputted), reset is called when the values within a group have been all iterated.
 
Methods inherited from class com.ebay.erl.mobius.core.function.base.AggregateFunction
getResult, newBigTupleList, output
 
Methods inherited from class com.ebay.erl.mobius.core.function.base.GroupFunction
getNoMatchResult, getRowsToBeOutputted
 
Methods inherited from class com.ebay.erl.mobius.core.function.base.Projectable
calledByCombiner, equals, getConf, getInputColumns, getOutputSchema, getParticipatedDataset, hashCode, init, requireDataFromMultiDatasets, setCalledByCombiner, setConf, setOutputSchema, setReporter, toString, useGroupKeyOnly
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Counts

public Counts(Column inputColumn)
Create an instance of Counts that counting the number of occurrence of inputColumn in a group.

If the value of inputColumn, the count won't increase.

Method Detail

consume

public void consume(Tuple tuple)
Description copied from class: GroupFunction
consume a value within a group, to be implemented by sub-class.

Specified by:
consume in class GroupFunction

getComputedResult

protected Tuple getComputedResult()
Description copied from class: SingleInputAggregateFunction
Return the computed result in a Tuple.

By default, the returned Tuple contains only one column, the name of the column is the first element in the Projectable.getOutputSchema().

Override this method if there is a need to output a Tuple with more than one column.

Overrides:
getComputedResult in class SingleInputAggregateFunction

reset

public void reset()
Description copied from class: GroupFunction
Empty previous result (rowsToBeOutputted), reset is called when the values within a group have been all iterated.

It is important to call super.reset() when override this method in a sub-class, fail to do so, will result in wrong result.

Overrides:
reset in class AggregateFunction

isCombinable

public final boolean isCombinable()
Description copied from class: Projectable
Determine this function can be run in a combiner or not, default is false.

Overrides:
isCombinable in class Projectable