org.apache.pig.builtin
Class COUNT_STAR

java.lang.Object
  extended by org.apache.pig.EvalFunc<Long>
      extended by org.apache.pig.builtin.COUNT_STAR
All Implemented Interfaces:
Algebraic

public class COUNT_STAR
extends EvalFunc<Long>
implements Algebraic

Generates the count of the values of the first field of a tuple. This class is different from COUNT in that it counts all NULL values and as such implements SQL COUNT(*) semantics. This class is Algebraic in implemenation, so if possible the execution will be split into a local and global functions


Nested Class Summary
static class COUNT_STAR.Final
           
static class COUNT_STAR.Initial
           
static class COUNT_STAR.Intermediate
           
 
Field Summary
 
Fields inherited from class org.apache.pig.EvalFunc
log, pigLogger, reporter, returnType
 
Constructor Summary
COUNT_STAR()
           
 
Method Summary
 Long exec(Tuple input)
          This callback method must be implemented by all subclasses.
 String getFinal()
           
 String getInitial()
           
 String getIntermed()
           
 Schema outputSchema(Schema input)
           
protected static Long sum(Tuple input)
           
 
Methods inherited from class org.apache.pig.EvalFunc
finish, getArgToFuncMapping, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, isAsynchronous, progress, setPigLogger, setReporter, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

COUNT_STAR

public COUNT_STAR()
Method Detail

exec

public Long exec(Tuple input)
          throws IOException
Description copied from class: EvalFunc
This callback method must be implemented by all subclasses. This is the method that will be invoked on every Tuple of a given dataset. Since the dataset may be divided up in a variety of ways the programmer should not make assumptions about state that is maintained between invocations of this method.

Specified by:
exec in class EvalFunc<Long>
Parameters:
input - the Tuple to be processed.
Returns:
result, of type T.
Throws:
IOException

getInitial

public String getInitial()
Specified by:
getInitial in interface Algebraic
Returns:
A string to instatiate f_init. f_init should be an eval func

getIntermed

public String getIntermed()
Specified by:
getIntermed in interface Algebraic
Returns:
A string to instantiate f_intermed. f_intermed should be an eval func

getFinal

public String getFinal()
Specified by:
getFinal in interface Algebraic
Returns:
A string to instantiate f_final. f_final should be an eval func parametrized by the same datum as the eval func implementing this interface

sum

protected static Long sum(Tuple input)
                   throws ExecException,
                          NumberFormatException
Throws:
ExecException
NumberFormatException

outputSchema

public Schema outputSchema(Schema input)
Overrides:
outputSchema in class EvalFunc<Long>
Parameters:
input - Schema of the input
Returns:
Schema of the output


Copyright © ${year} The Apache Software Foundation