public class POForEach extends PhysicalOperator
PhysicalOperator.OriginalLocation
Modifier and Type | Field and Description |
---|---|
protected Object[] |
bags |
protected AccumulativeTupleBuffer |
buffer |
protected Object[] |
data |
protected BitSet |
earlyTermination |
protected boolean |
endOfAllInputProcessed |
protected Boolean |
endOfAllInputProcessing |
protected Tuple |
inpTuple |
protected List<PhysicalPlan> |
inputPlans |
protected boolean[] |
isToBeFlattenedArray |
protected Iterator<Tuple>[] |
its |
protected boolean |
mapSideOnly |
protected int |
noItems |
protected List<PhysicalOperator> |
opsToBeReset |
protected PhysicalOperator[] |
planLeafOps |
protected boolean |
processingPlan |
protected byte[] |
resultTypes |
protected ExampleTuple |
tIn |
alias, illustrator, input, inputAttached, inputs, lineageTracer, mBagFactory, mTupleFactory, 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,
List<PhysicalPlan> inp,
List<Boolean> isToBeFlattened) |
POForEach(OperatorKey operatorKey,
int requestedParallelism,
List<PhysicalPlan> innerPlans,
List<Boolean> flattenList,
Schema schema) |
POForEach(OperatorKey k,
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(Object[] data) |
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.
|
List<PhysicalOperator> |
getOpsToBeReset() |
PhysicalOperator[] |
getPlanLeafOps() |
List<Boolean> |
getToBeFlattened() |
Tuple |
illustratorMarkup(Object in,
Object out,
int eqClassIndex)
input tuple mark up to be illustrate-able
|
boolean |
inProcessing() |
boolean |
isMapSideOnly() |
String |
name() |
boolean |
needEndOfAllInputProcessing() |
protected Result |
processPlan() |
void |
setAccumEnd() |
void |
setAccumStart() |
void |
setAccumulative() |
void |
setInputPlans(List<PhysicalPlan> plans) |
void |
setMapSideOnly(boolean mapSideOnly) |
void |
setOpsToBeReset(List<PhysicalOperator> opsToBeReset) |
void |
setToBeFlattened(List<Boolean> flattens) |
protected void |
setUpFlattens(List<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, clonePlans, copyAliasFrom, detachInput, getAlias, getAliasString, getIllustrator, getInputs, getLogger, getNext, getNextBigDecimal, getNextBigInteger, getNextBoolean, getNextDataBag, getNextDataByteArray, getNextDateTime, getNextDouble, getNextFloat, getNextInteger, getNextLong, getNextMap, getNextString, getOriginalLocations, getParentPlan, getPigLogger, getReporter, getRequestedParallelism, getResultType, isAccumStarted, isAccumulative, isBlocking, isEndOfAllInput, isInputAttached, processInput, reset, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType, staticDataCleanup
compareTo, equals, getOperatorKey, getProjectionMap, hashCode, regenerateProjectionMap, rewire, toString, unsetProjectionMap
protected List<PhysicalPlan> inputPlans
protected List<PhysicalOperator> opsToBeReset
protected PhysicalOperator[] planLeafOps
protected byte[] resultTypes
protected boolean[] isToBeFlattenedArray
protected int noItems
protected transient boolean processingPlan
protected transient Object[] bags
protected transient Object[] data
protected transient BitSet earlyTermination
protected transient ExampleTuple tIn
protected transient AccumulativeTupleBuffer buffer
protected transient Tuple inpTuple
protected transient boolean endOfAllInputProcessed
protected boolean mapSideOnly
protected Boolean endOfAllInputProcessing
public POForEach(OperatorKey k)
public POForEach(OperatorKey k, int rp)
public POForEach(OperatorKey k, List inp)
public POForEach(OperatorKey k, int rp, List<PhysicalPlan> inp, List<Boolean> isToBeFlattened)
public POForEach(OperatorKey operatorKey, int requestedParallelism, List<PhysicalPlan> innerPlans, List<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 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(Object[] data) throws ExecException
data
- array that is the template for the final flattened tupleExecException
protected void attachInputToPlans(Tuple t)
public void getLeaves()
public List<PhysicalPlan> getInputPlans()
public void setInputPlans(List<PhysicalPlan> plans)
public void addInputPlan(PhysicalPlan plan, boolean flatten)
public POForEach clone() throws CloneNotSupportedException
public boolean inProcessing()
public List<PhysicalOperator> getOpsToBeReset()
public void setOpsToBeReset(List<PhysicalOperator> opsToBeReset)
opsToBeReset
- the opsToBeReset to setpublic Tuple illustratorMarkup(Object in, Object out, int eqClassIndex)
Illustrable
in
- input tupleout
- output tuple before wrapped in ExampleTupleeqClassIndex
- index into equivalence classes in illustratorpublic PhysicalOperator[] getPlanLeafOps()
public void setMapSideOnly(boolean mapSideOnly)
public boolean isMapSideOnly()
public boolean needEndOfAllInputProcessing() throws ExecException
ExecException
Copyright © 2007-2017 The Apache Software Foundation