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

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

public class POPartialAgg
extends PhysicalOperator

Do partial aggregation in map plan. It uses a hash-map to aggregate. If consecutive records have same key, it will aggregate those without adding them to the hash-map. As future optimization, the use of hash-map could be disabled when input data is sorted on group-by keys

See Also:
Serialized Form

Field Summary
static String PROP_PARTAGG_MINREDUCTION
           
 
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
POPartialAgg(OperatorKey k)
           
 
Method Summary
 PhysicalPlan getKeyPlan()
           
 Result getNext(Tuple t)
           
 List<PhysicalPlan> getValuePlans()
           
 Tuple illustratorMarkup(Object in, Object out, int eqClassIndex)
          input tuple mark up to be illustrate-able
 String name()
           
 void setKeyPlan(PhysicalPlan keyPlan)
           
 void setValuePlans(List<PhysicalPlan> valuePlans)
           
 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, clone, 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, reset, 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
 

Field Detail

PROP_PARTAGG_MINREDUCTION

public static final String PROP_PARTAGG_MINREDUCTION
See Also:
Constant Field Values
Constructor Detail

POPartialAgg

public POPartialAgg(OperatorKey k)
Method Detail

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

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.

getNext

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

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.

name

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

getKeyPlan

public PhysicalPlan getKeyPlan()

setKeyPlan

public void setKeyPlan(PhysicalPlan keyPlan)

getValuePlans

public List<PhysicalPlan> getValuePlans()

setValuePlans

public void setValuePlans(List<PhysicalPlan> valuePlans)


Copyright © ${year} The Apache Software Foundation