org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators
Class POPreCombinerLocalRearrange
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.POPreCombinerLocalRearrange
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<Operator>, Illustrable
public class POPreCombinerLocalRearrange
- extends PhysicalOperator
A specialized local rearrange operator which behaves
like the regular local rearrange in the getNext()
as far as getting its input and constructing the
"key" out of the input. It then returns a tuple with
two fields - the key in the first position and the
"value" inside a bag in the second position. This output
format resembles the format out of a Package. This output
will feed to a foreach which expects this format.
- 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, 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, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType |
serialVersionUID
protected static final long serialVersionUID
- See Also:
- Constant Field Values
mTupleFactory
protected static final TupleFactory mTupleFactory
mBagFactory
protected static BagFactory mBagFactory
plans
protected List<PhysicalPlan> plans
leafOps
protected List<ExpressionOperator> leafOps
keyType
protected byte keyType
POPreCombinerLocalRearrange
public POPreCombinerLocalRearrange(OperatorKey k)
POPreCombinerLocalRearrange
public POPreCombinerLocalRearrange(OperatorKey k,
int rp)
POPreCombinerLocalRearrange
public POPreCombinerLocalRearrange(OperatorKey k,
List<PhysicalOperator> inp)
POPreCombinerLocalRearrange
public POPreCombinerLocalRearrange(OperatorKey k,
int rp,
List<PhysicalOperator> inp)
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
getNextTuple
public Result getNextTuple()
throws ExecException
- Calls getNext on the generate operator inside the nested
physical plan. Converts the generated tuple into the proper
format, i.e, (key,indexedTuple(value))
- Overrides:
getNextTuple
in class PhysicalOperator
- Throws:
ExecException
constructLROutput
protected Tuple constructLROutput(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)
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