org.apache.pig.scripting.jruby
Class JrubyAlgebraicEvalFunc.Initial

java.lang.Object
  extended by org.apache.pig.EvalFunc<T>
      extended by org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper<Tuple>
          extended by org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Initial
Enclosing class:
JrubyAlgebraicEvalFunc<T>

public static class JrubyAlgebraicEvalFunc.Initial
extends JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper<Tuple>

This class invokes the initial method on the given Ruby class. As a courtesy to the user, it unwraps the DataBag that is given to Initial and passes Ruby just the first Tuple that it contains, as the contract for the Initial function in Algebraic is that it is given a DataBag with one and only one Tuple. Finally, it wraps the Ruby output in a Tuple.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.pig.EvalFunc
EvalFunc.SchemaType
 
Field Summary
 
Fields inherited from class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper
isInitialized, receiver, stage
 
Fields inherited from class org.apache.pig.EvalFunc
log, pigLogger, reporter, returnType
 
Constructor Summary
JrubyAlgebraicEvalFunc.Initial()
           
JrubyAlgebraicEvalFunc.Initial(String fileName, String functionName)
           
 
Method Summary
 Tuple exec(Tuple input)
          This callback method must be implemented by all subclasses.
 
Methods inherited from class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper
getFileName, getFunctionName, getReceiver, getStage, initialize, isInitialized
 
Methods inherited from class org.apache.pig.EvalFunc
finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, isAsynchronous, outputSchema, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JrubyAlgebraicEvalFunc.Initial

public JrubyAlgebraicEvalFunc.Initial()

JrubyAlgebraicEvalFunc.Initial

public JrubyAlgebraicEvalFunc.Initial(String fileName,
                                      String functionName)
Method Detail

exec

public Tuple 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 JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper<Tuple>
Parameters:
input - the Tuple to be processed.
Returns:
result, of type T.
Throws:
IOException


Copyright © 2007-2012 The Apache Software Foundation