datafu.pig.bags
Class Enumerate

java.lang.Object
  extended by org.apache.pig.EvalFunc<T>
      extended by datafu.pig.util.SimpleEvalFunc<org.apache.pig.data.DataBag>
          extended by datafu.pig.bags.Enumerate

public class Enumerate
extends SimpleEvalFunc<org.apache.pig.data.DataBag>

Enumerate through a bag, replacing each (elem) with (elem, idx). For example:

   {(A),(B),(C),(D)} => {(A,0),(B,1),(C,2),(D,3)}
 
The first constructor parameter (optional) dictates the starting index of the counting.

Example:

 define Enumerate datafu.pig.bags.Enumerate('1');

 -- input:
 -- ({(100),(200),(300),(400)})
 input = LOAD 'input' as (B: bag{T: tuple(v2:INT)});

 -- output:
 -- ({(100,1),(200,2),(300,3),(400,4)})
 output = FOREACH input GENERATE Enumerate(B);
 
 


Field Summary
 
Fields inherited from class org.apache.pig.EvalFunc
log, pigLogger, reporter, returnType
 
Constructor Summary
Enumerate()
           
Enumerate(java.lang.String start)
           
Enumerate(java.lang.String start, java.lang.String reverse)
           
 
Method Summary
 org.apache.pig.data.DataBag call(org.apache.pig.data.DataBag inputBag)
           
 org.apache.pig.impl.logicalLayer.schema.Schema outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema input)
           
 
Methods inherited from class datafu.pig.util.SimpleEvalFunc
exec, getReturnType
 
Methods inherited from class org.apache.pig.EvalFunc
finish, getArgToFuncMapping, getCacheFiles, getLogger, getPigLogger, getReporter, 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

Enumerate

public Enumerate()

Enumerate

public Enumerate(java.lang.String start)

Enumerate

public Enumerate(java.lang.String start,
                 java.lang.String reverse)
Method Detail

call

public org.apache.pig.data.DataBag call(org.apache.pig.data.DataBag inputBag)
                                 throws java.io.IOException
Throws:
java.io.IOException

outputSchema

public org.apache.pig.impl.logicalLayer.schema.Schema outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema input)
Overrides:
outputSchema in class org.apache.pig.EvalFunc<org.apache.pig.data.DataBag>


Matthew Hayes, Sam Shah