public class POForEach extends PhysicalOperator
PhysicalOperator.OriginalLocation
Modifier and Type | Field and Description |
---|---|
protected java.lang.Object[] |
bags |
protected AccumulativeTupleBuffer |
buffer |
protected java.lang.Object[] |
data |
protected java.util.BitSet |
earlyTermination |
protected Tuple |
inpTuple |
protected java.util.List<PhysicalPlan> |
inputPlans |
protected boolean[] |
isToBeFlattenedArray |
protected java.util.Iterator<Tuple>[] |
its |
protected boolean |
mapSideOnly |
protected int |
noItems |
protected java.util.List<PhysicalOperator> |
opsToBeReset |
protected PhysicalOperator[] |
planLeafOps |
protected boolean |
processingPlan |
protected byte[] |
resultTypes |
alias, illustrator, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, RESULT_EMPTY, RESULT_EOP, resultType
Constructor and Description |
---|
POForEach(OperatorKey k) |
POForEach(OperatorKey k,
int rp) |
POForEach(OperatorKey k,
int rp,
java.util.List<PhysicalPlan> inp,
java.util.List<java.lang.Boolean> isToBeFlattened) |
POForEach(OperatorKey operatorKey,
int requestedParallelism,
java.util.List<PhysicalPlan> innerPlans,
java.util.List<java.lang.Boolean> flattenList,
Schema schema) |
POForEach(OperatorKey k,
java.util.List inp) |
Modifier and Type | Method and Description |
---|---|
void |
addInputPlan(PhysicalPlan plan,
boolean flatten) |
protected void |
attachInputToPlans(Tuple t) |
POForEach |
clone()
Make a deep copy of this operator.
|
protected Tuple |
createTuple(java.lang.Object[] data) |
java.util.List<PhysicalPlan> |
getInputPlans() |
void |
getLeaves() |
Result |
getNextTuple()
Calls getNext on the generate operator inside the nested
physical plan and returns it maintaining an additional state
to denote the begin and end of the nested plan processing.
|
java.util.List<PhysicalOperator> |
getOpsToBeReset() |
java.util.List<java.lang.Boolean> |
getToBeFlattened() |
Tuple |
illustratorMarkup(java.lang.Object in,
java.lang.Object out,
int eqClassIndex)
input tuple mark up to be illustrate-able
|
boolean |
inProcessing() |
boolean |
isMapSideOnly() |
java.lang.String |
name() |
protected Result |
processPlan() |
void |
setAccumEnd() |
void |
setAccumStart() |
void |
setAccumulative() |
void |
setInputPlans(java.util.List<PhysicalPlan> plans) |
void |
setMapSideOnly(boolean mapSideOnly) |
void |
setOpsToBeReset(java.util.List<PhysicalOperator> opsToBeReset) |
void |
setToBeFlattened(java.util.List<java.lang.Boolean> flattens) |
protected void |
setUpFlattens(java.util.List<java.lang.Boolean> isToBeFlattened) |
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.
|
addOriginalLocation, addOriginalLocation, attachInput, cloneHelper, copyAliasFrom, 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, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType, staticDataCleanup
compareTo, equals, getOperatorKey, getProjectionMap, hashCode, regenerateProjectionMap, rewire, toString, unsetProjectionMap
protected java.util.List<PhysicalPlan> inputPlans
protected java.util.List<PhysicalOperator> opsToBeReset
protected boolean processingPlan
protected transient java.util.Iterator<Tuple>[] its
protected java.lang.Object[] bags
protected java.lang.Object[] data
protected byte[] resultTypes
protected java.util.BitSet earlyTermination
protected boolean[] isToBeFlattenedArray
protected int noItems
protected PhysicalOperator[] planLeafOps
protected transient AccumulativeTupleBuffer buffer
protected Tuple inpTuple
protected boolean mapSideOnly
public POForEach(OperatorKey k)
public POForEach(OperatorKey k, int rp)
public POForEach(OperatorKey k, java.util.List inp)
public POForEach(OperatorKey k, int rp, java.util.List<PhysicalPlan> inp, java.util.List<java.lang.Boolean> isToBeFlattened)
public POForEach(OperatorKey operatorKey, int requestedParallelism, java.util.List<PhysicalPlan> innerPlans, java.util.List<java.lang.Boolean> flattenList, Schema schema)
public void visit(PhyPlanVisitor v) throws VisitorException
Operator
visit
in class PhysicalOperator
v
- Visitor to visit with.VisitorException
- if the visitor has a problem.public java.lang.String name()
name
in class Operator<PhyPlanVisitor>
public boolean supportsMultipleInputs()
Operator
supportsMultipleInputs
in class Operator<PhyPlanVisitor>
public boolean supportsMultipleOutputs()
Operator
supportsMultipleOutputs
in class Operator<PhyPlanVisitor>
public void setAccumulative()
setAccumulative
in class PhysicalOperator
public void setAccumStart()
setAccumStart
in class PhysicalOperator
public void setAccumEnd()
setAccumEnd
in class PhysicalOperator
public Result getNextTuple() throws ExecException
getNextTuple
in class PhysicalOperator
ExecException
protected Result processPlan() throws ExecException
ExecException
protected Tuple createTuple(java.lang.Object[] data) throws ExecException
data
- array that is the template for the final flattened tupleExecException
protected void attachInputToPlans(Tuple t)
public void getLeaves()
public java.util.List<PhysicalPlan> getInputPlans()
public void setInputPlans(java.util.List<PhysicalPlan> plans)
public void addInputPlan(PhysicalPlan plan, boolean flatten)
public void setToBeFlattened(java.util.List<java.lang.Boolean> flattens)
public java.util.List<java.lang.Boolean> getToBeFlattened()
public POForEach clone() throws java.lang.CloneNotSupportedException
clone
in class PhysicalOperator
java.lang.CloneNotSupportedException
Do not use the clone method directly. Operators are cloned when logical plans
are cloned using {@link LogicalPlanCloner}
public boolean inProcessing()
protected void setUpFlattens(java.util.List<java.lang.Boolean> isToBeFlattened)
public java.util.List<PhysicalOperator> getOpsToBeReset()
public void setOpsToBeReset(java.util.List<PhysicalOperator> opsToBeReset)
opsToBeReset
- the opsToBeReset to setpublic Tuple illustratorMarkup(java.lang.Object in, java.lang.Object out, int eqClassIndex)
Illustrable
in
- input tupleout
- output tuple before wrapped in ExampleTupleeqClassIndex
- index into equivalence classes in illustratorpublic void setMapSideOnly(boolean mapSideOnly)
public boolean isMapSideOnly()
Copyright © 2007-2012 The Apache Software Foundation