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

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.POUnion
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Operator>, Illustrable

public class POUnion
extends PhysicalOperator

The union operator that combines the two inputs into a single stream. Note that this doesn't eliminate duplicate tuples. The Operator will also be added to every map plan which processes more than one input. This just pulls out data from the piepline using the proposed single threaded shared execution model. By shared execution I mean, one input to the Union operator is called once and the execution moves to the next non-drained input till all the inputs are drained.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
PhysicalOperator.OriginalLocation
 
Field Summary
 
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
 
Constructor Summary
POUnion(OperatorKey k)
           
POUnion(OperatorKey k, int rp)
           
POUnion(OperatorKey k, int rp, List<PhysicalOperator> inp)
           
POUnion(OperatorKey k, List<PhysicalOperator> inp)
           
 
Method Summary
 void clearDone()
           
 Result getNextTuple()
          The code below, tries to follow our single threaded shared execution model with execution being passed around each non-drained input
 Tuple illustratorMarkup(Object in, Object out, int eqClassIndex)
          input tuple mark up to be illustrate-able
 String name()
           
 void setInputs(List<PhysicalOperator> inputs)
           
 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
addOriginalLocation, addOriginalLocation, attachInput, clone, 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, reset, setAccumEnd, setAccumStart, setAccumulative, setIllustrator, 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

POUnion

public POUnion(OperatorKey k)

POUnion

public POUnion(OperatorKey k,
               int rp)

POUnion

public POUnion(OperatorKey k,
               List<PhysicalOperator> inp)

POUnion

public POUnion(OperatorKey k,
               int rp,
               List<PhysicalOperator> inp)
Method Detail

setInputs

public void setInputs(List<PhysicalOperator> inputs)
Overrides:
setInputs in class PhysicalOperator

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.

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.

clearDone

public void clearDone()

getNextTuple

public Result getNextTuple()
                    throws ExecException
The code below, tries to follow our single threaded shared execution model with execution being passed around each non-drained input

Overrides:
getNextTuple in class PhysicalOperator
Throws:
ExecException

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 © 2007-2012 The Apache Software Foundation