org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators
Class POLimit
java.lang.Object
org.apache.pig.impl.plan.Operator<PhyPlanVisitor>
org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
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
Fields inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
alias, illustrator, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, requestedParallelism, res, resultType |
Fields inherited from class org.apache.pig.impl.plan.Operator |
mKey |
Methods inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
addOriginalLocation, addOriginalLocation, attachInput, cloneHelper, detachInput, getAlias, getAliasString, getIllustrator, getInputs, getLogger, getNext, getNextBigDecimal, getNextBigInteger, getNextBoolean, getNextDataBag, getNextDataByteArray, getNextDateTime, getNextDouble, getNextFloat, getNextInteger, getNextLong, getNextMap, getNextString, getOriginalLocations, getPigLogger, getReporter, getRequestedParallelism, getResultType, isAccumStarted, isAccumulative, isBlocking, isInputAttached, processInput, setAccumEnd, setAccumStart, setAccumulative, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType |
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)
setLimit
public void setLimit(long limit)
getLimit
public long getLimit()
getLimitPlan
public PhysicalPlan getLimitPlan()
setLimitPlan
public void setLimitPlan(PhysicalPlan expressionPlan)
getNextTuple
public Result getNextTuple()
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:
getNextTuple
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 tupleout
- output tuple before wrapped in ExampleTupleeqClassIndex
- index into equivalence classes in illustrator
- Returns:
- tuple
Copyright © 2007-2012 The Apache Software Foundation