org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators
Class PODistinct
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.PODistinct
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<Operator>
public class PODistinct
- extends PhysicalOperator
- implements Cloneable
Find the distinct set of tuples in a bag.
This is a blocking operator. All the input is put in the hashset implemented
in DistinctDataBag which also provides the other DataBag interfaces.
- See Also:
- Serialized Form
Fields inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
dummyBag, dummyBool, dummyDBA, dummyDouble, dummyFloat, dummyInt, dummyLong, dummyMap, dummyString, dummyTuple, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, resultType, serialVersionUID |
Fields inherited from class org.apache.pig.impl.plan.Operator |
mKey |
Methods inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
attachInput, cloneHelper, detachInput, getInputs, getLogger, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getPigLogger, getRequestedParallelism, getResultType, isInputAttached, processInput, setInputs, setLineageTracer, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType |
PODistinct
public PODistinct(OperatorKey k,
int rp,
List<PhysicalOperator> inp)
PODistinct
public PODistinct(OperatorKey k,
int rp)
PODistinct
public PODistinct(OperatorKey k,
List<PhysicalOperator> inp)
PODistinct
public PODistinct(OperatorKey k)
isBlocking
public boolean isBlocking()
- Description copied from class:
PhysicalOperator
- A blocking operator should override this to return true. Blocking
operators are those that need the full bag before operate on the tuples
inside the bag. Example is the Global Rearrange. Non-blocking or pipeline
operators are those that work on a tuple by tuple basis.
- Overrides:
isBlocking
in class PhysicalOperator
- Returns:
- true if blocking and false otherwise
getNext
public Result getNext(Tuple t)
throws ExecException
- 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.
clone
public PODistinct clone()
throws CloneNotSupportedException
- Description copied from class:
PhysicalOperator
- Make a deep copy of this operator. This is declared here to make it
public for all physical operators. However, the default
implementation is to throw an exception. Operators we expect to clone
need to implement this method.
- 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}
Copyright © ${year} The Apache Software Foundation