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

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

public class POCollectedGroup
extends PhysicalOperator

The collected group operator is a special operator used when users give the hint 'using "collected"' in a group by clause. It implements a map-side group that collects all records for a given key into a buffer. When it sees a key change it will emit the key and bag for records it had buffered. It will assume that all keys for a given record are collected together and thus there is not need to buffer across keys.

See Also:
Serialized Form

Field Summary
protected  byte keyType
           
protected  List<ExpressionOperator> leafOps
           
protected static TupleFactory mTupleFactory
           
protected  List<PhysicalPlan> plans
           
protected static long serialVersionUID
           
 
Fields inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
alias, dummyBag, dummyBool, dummyDBA, dummyDouble, dummyFloat, dummyInt, dummyLong, dummyMap, dummyString, dummyTuple, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, resultType
 
Fields inherited from class org.apache.pig.impl.plan.Operator
mKey
 
Constructor Summary
POCollectedGroup(OperatorKey k)
           
POCollectedGroup(OperatorKey k, int rp)
           
POCollectedGroup(OperatorKey k, int rp, List<PhysicalOperator> inp)
           
POCollectedGroup(OperatorKey k, List<PhysicalOperator> inp)
           
 
Method Summary
 void attachInput(Tuple t)
          Overridden since the attachment of the new input should cause the old processing to end.
protected  Tuple constructOutput(List<Result> resLst, Tuple value)
           
 byte getKeyType()
           
 Result getNext(Tuple t)
           
 List<PhysicalPlan> getPlans()
           
 String name()
           
 void setKeyType(byte keyType)
           
 void setPlans(List<PhysicalPlan> plans)
           
 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
clone, cloneHelper, detachInput, getAlias, getAliasString, getInputs, getLogger, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getNext, getPigLogger, getRequestedParallelism, getResultType, isAccumStarted, isAccumulative, isBlocking, isInputAttached, processInput, reset, setAccumEnd, setAccumStart, setAccumulative, setAlias, setInputs, setLineageTracer, 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
 

Field Detail

serialVersionUID

protected static final long serialVersionUID
See Also:
Constant Field Values

mTupleFactory

protected static final TupleFactory mTupleFactory

plans

protected List<PhysicalPlan> plans

leafOps

protected List<ExpressionOperator> leafOps

keyType

protected byte keyType
Constructor Detail

POCollectedGroup

public POCollectedGroup(OperatorKey k)

POCollectedGroup

public POCollectedGroup(OperatorKey k,
                        int rp)

POCollectedGroup

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

POCollectedGroup

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

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.

attachInput

public void attachInput(Tuple t)
Overridden since the attachment of the new input should cause the old processing to end.

Overrides:
attachInput in class PhysicalOperator
Parameters:
t - - The tuple that should be used as input

getNext

public Result getNext(Tuple t)
               throws ExecException
Overrides:
getNext in class PhysicalOperator
Throws:
ExecException

constructOutput

protected Tuple constructOutput(List<Result> resLst,
                                Tuple value)
                         throws ExecException
Throws:
ExecException

getKeyType

public byte getKeyType()

setKeyType

public void setKeyType(byte keyType)

getPlans

public List<PhysicalPlan> getPlans()

setPlans

public void setPlans(List<PhysicalPlan> plans)
              throws PlanException
Throws:
PlanException


Copyright © ${year} The Apache Software Foundation