org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators
Class POLimit

java.lang.Object
  extended by org.apache.pig.impl.plan.Operator<PhyPlanVisitor>
      extended by org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
          extended by org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Operator>, Illustrable

public class POLimit
extends PhysicalOperator

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
alias, dummyBag, dummyBool, dummyDBA, dummyDouble, dummyFloat, dummyInt, dummyLong, dummyMap, dummyString, dummyTuple, illustrator, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, resultType
 
Fields inherited from class org.apache.pig.impl.plan.Operator
mKey
 
Constructor Summary
POLimit(OperatorKey k)
           
POLimit(OperatorKey k, int rp)
           
POLimit(OperatorKey k, int rp, List<PhysicalOperator> inputs)
           
POLimit(OperatorKey k, List<PhysicalOperator> inputs)
           
 
Method Summary
 POLimit clone()
          Make a deep copy of this operator.
 long getLimit()
           
 Result getNext(Tuple t)
          Counts the number of tuples processed into static variable soFar, if the number of tuples processed reach the limit, return EOP; Otherwise, return the tuple
 Tuple illustratorMarkup(Object in, Object out, int eqClassIndex)
          input tuple mark up to be illustrate-able
 String name()
           
 void reset()
          Reset internal state in an operator.
 void setLimit(long limit)
           
 boolean supportsMultipleInputs()
          Indicates whether this operator supports multiple inputs.
 boolean supportsMultipleOutputs()
          Indicates whether this operator supports multiple outputs.
 void visit(PhyPlanVisitor v)
          Visit this node with the provided visitor.
 
Methods inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
attachInput, cloneHelper, detachInput, getAlias, getAliasString, getDummy, getIllustrator, getInputs, getLogger, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getPigLogger, getRequestedParallelism, getResultType, isAccumStarted, isAccumulative, isBlocking, isInputAttached, processInput, setAccumEnd, setAccumStart, setAccumulative, setAlias, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType
 
Methods inherited from class org.apache.pig.impl.plan.Operator
compareTo, equals, getOperatorKey, getProjectionMap, hashCode, regenerateProjectionMap, rewire, toString, unsetProjectionMap
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

POLimit

public POLimit(OperatorKey k)

POLimit

public POLimit(OperatorKey k,
               int rp)

POLimit

public POLimit(OperatorKey k,
               List<PhysicalOperator> inputs)

POLimit

public POLimit(OperatorKey k,
               int rp,
               List<PhysicalOperator> inputs)
Method Detail

setLimit

public void setLimit(long limit)

getLimit

public long getLimit()

getNext

public Result getNext(Tuple t)
               throws ExecException
Counts the number of tuples processed into static variable soFar, if the number of tuples processed reach the limit, return EOP; Otherwise, return the tuple

Overrides:
getNext in class PhysicalOperator
Throws:
ExecException

name

public String name()
Specified by:
name in class Operator<PhyPlanVisitor>

supportsMultipleInputs

public boolean supportsMultipleInputs()
Description copied from class: Operator
Indicates whether this operator supports multiple inputs.

Specified by:
supportsMultipleInputs in class Operator<PhyPlanVisitor>
Returns:
true if it does, otherwise false.

supportsMultipleOutputs

public boolean supportsMultipleOutputs()
Description copied from class: Operator
Indicates whether this operator supports multiple outputs.

Specified by:
supportsMultipleOutputs in class Operator<PhyPlanVisitor>
Returns:
true if it does, otherwise false.

visit

public void visit(PhyPlanVisitor v)
           throws VisitorException
Description copied from class: Operator
Visit this node with the provided visitor. This should only be called by the visitor class itself, never directly.

Specified by:
visit in class PhysicalOperator
Parameters:
v - Visitor to visit with.
Throws:
VisitorException - if the visitor has a problem.

reset

public void reset()
Description copied from class: PhysicalOperator
Reset internal state in an operator. For use in nested pipelines where operators like limit and sort may need to reset their state. Limit needs it because it needs to know it's seeing a fresh set of input. Blocking operators like sort and distinct need it because they may not have drained their previous input due to a limit and thus need to be told to drop their old input and start over.

Overrides:
reset in class PhysicalOperator

clone

public POLimit clone()
              throws CloneNotSupportedException
Description copied from class: PhysicalOperator
Make a deep copy of this operator. This function is blank, however, we should leave a place holder so that the subclasses can clone

Overrides:
clone in class PhysicalOperator
Throws:
CloneNotSupportedException
See Also:
Do not use the clone method directly. Operators are cloned when logical plans are cloned using {@link LogicalPlanCloner}

illustratorMarkup

public Tuple illustratorMarkup(Object in,
                               Object out,
                               int eqClassIndex)
Description copied from interface: Illustrable
input tuple mark up to be illustrate-able

Parameters:
in - input tuple
out - output tuple before wrapped in ExampleTuple
eqClassIndex - index into equivalence classes in illustrator
Returns:
tuple


Copyright © ${year} The Apache Software Foundation