public class POLocalRearrange extends PhysicalOperator
PhysicalOperator.OriginalLocation| Modifier and Type | Field and Description |
|---|---|
protected byte |
index |
protected Result |
inp |
protected boolean |
isCross |
protected byte |
keyType |
protected List<ExpressionOperator> |
leafOps |
protected byte |
mainKeyType |
protected Tuple |
mFakeTuple |
protected boolean |
mIsDistinct |
protected List<PhysicalPlan> |
plans |
protected byte |
secondaryKeyType |
protected List<ExpressionOperator> |
secondaryLeafOps |
protected List<PhysicalPlan> |
secondaryPlans |
protected static long |
serialVersionUID |
alias, illustrator, input, inputAttached, inputs, lineageTracer, mBagFactory, mTupleFactory, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, RESULT_EMPTY, RESULT_EOP, resultType| Constructor and Description |
|---|
POLocalRearrange(OperatorKey k) |
POLocalRearrange(OperatorKey k,
int rp) |
POLocalRearrange(OperatorKey k,
int rp,
List<PhysicalOperator> inp) |
POLocalRearrange(OperatorKey k,
List<PhysicalOperator> inp) |
POLocalRearrange(POLocalRearrange copy) |
| Modifier and Type | Method and Description |
|---|---|
void |
attachInput(Tuple t)
Overridden since the attachment of the new input should cause the old
processing to end.
|
POLocalRearrange |
clone()
Make a deep copy of this operator.
|
protected Tuple |
constructLROutput(List<Result> resLst,
List<Result> secondaryResLst,
Tuple value) |
byte |
getIndex() |
protected Object |
getKeyFromResult(List<Result> resLst,
byte type) |
byte |
getKeyType() |
byte |
getMainKeyType() |
Result |
getNextTuple()
Calls getNext on the generate operator inside the nested
physical plan.
|
List<PhysicalPlan> |
getPlans() |
Map<Integer,Integer> |
getProjectedColsMap() |
Map<Integer,Integer> |
getSecondaryProjectedColsMap() |
Tuple |
illustratorMarkup(Object in,
Object out,
int eqClassIndex)
input tuple mark up to be illustrate-able
|
boolean |
isCross() |
boolean |
isDistinct() |
boolean |
isKeyCompound() |
boolean |
isKeyTuple() |
boolean |
isProjectStar() |
boolean |
isSecondaryKeyTuple() |
boolean |
isSecondaryProjectStar() |
String |
name() |
void |
setCross(boolean isCross) |
void |
setDistinct(boolean isDistinct) |
void |
setIndex(int index)
Sets the co-group index of this operator
|
void |
setKeyType(byte keyType) |
void |
setMultiQueryIndex(int index)
Sets the multi-query index of this operator
|
void |
setPlans(List<PhysicalPlan> plans) |
void |
setPlansFromCombiner(List<PhysicalPlan> plans) |
void |
setSecondaryPlans(List<PhysicalPlan> plans) |
protected void |
setStripKeyFromValue(boolean stripKeyFromValue) |
void |
setUseSecondaryKey(boolean useSecondaryKey) |
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, 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, setAccumEnd, setAccumStart, setAccumulative, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType, staticDataCleanupcompareTo, equals, getOperatorKey, getProjectionMap, hashCode, regenerateProjectionMap, rewire, toString, unsetProjectionMapprotected static final long serialVersionUID
protected List<PhysicalPlan> plans
protected List<PhysicalPlan> secondaryPlans
protected List<ExpressionOperator> leafOps
protected List<ExpressionOperator> secondaryLeafOps
protected byte index
protected byte keyType
protected byte mainKeyType
protected byte secondaryKeyType
protected boolean mIsDistinct
protected boolean isCross
protected Tuple mFakeTuple
protected transient Result inp
public POLocalRearrange(OperatorKey k)
public POLocalRearrange(OperatorKey k, int rp)
public POLocalRearrange(OperatorKey k, List<PhysicalOperator> inp)
public POLocalRearrange(OperatorKey k, int rp, List<PhysicalOperator> inp)
public POLocalRearrange(POLocalRearrange copy)
public void visit(PhyPlanVisitor v) throws VisitorException
Operatorvisit in class PhysicalOperatorv - Visitor to visit with.VisitorException - if the visitor has a problem.public String name()
name in class Operator<PhyPlanVisitor>public boolean supportsMultipleInputs()
OperatorsupportsMultipleInputs in class Operator<PhyPlanVisitor>public boolean supportsMultipleOutputs()
OperatorsupportsMultipleOutputs in class Operator<PhyPlanVisitor>public byte getIndex()
public void setIndex(int index)
throws ExecException
index - the position of this operator in
a co-group operationExecException - if the index value is bigger then 0x7Fpublic void setMultiQueryIndex(int index)
throws ExecException
index - the position of the parent plan of this operator
in the enclosed split operatorExecException - if the index value is bigger then 0x7Fpublic boolean isDistinct()
public void setDistinct(boolean isDistinct)
public void attachInput(Tuple t)
attachInput in class PhysicalOperatort - -
The tuple that should be used as inputpublic Result getNextTuple() throws ExecException
getNextTuple in class PhysicalOperatorExecExceptionprotected Object getKeyFromResult(List<Result> resLst, byte type) throws ExecException
ExecExceptionprotected Tuple constructLROutput(List<Result> resLst, List<Result> secondaryResLst, Tuple value) throws ExecException
ExecExceptionpublic byte getKeyType()
public byte getMainKeyType()
public void setKeyType(byte keyType)
public List<PhysicalPlan> getPlans()
public void setUseSecondaryKey(boolean useSecondaryKey)
public void setPlans(List<PhysicalPlan> plans) throws PlanException
PlanExceptionpublic void setSecondaryPlans(List<PhysicalPlan> plans) throws PlanException
PlanExceptionpublic POLocalRearrange clone() throws CloneNotSupportedException
public boolean isCross()
public void setCross(boolean isCross)
public Map<Integer,Integer> getProjectedColsMap()
public Map<Integer,Integer> getSecondaryProjectedColsMap()
public boolean isProjectStar()
public boolean isSecondaryProjectStar()
public boolean isKeyTuple()
public boolean isKeyCompound()
public boolean isSecondaryKeyTuple()
public void setPlansFromCombiner(List<PhysicalPlan> plans) throws PlanException
plans - ExecExceptionPlanExceptionprotected void setStripKeyFromValue(boolean stripKeyFromValue)
public Tuple illustratorMarkup(Object in, Object out, int eqClassIndex)
Illustrablein - input tupleout - output tuple before wrapped in ExampleTupleeqClassIndex - index into equivalence classes in illustratorCopyright © 2007-2017 The Apache Software Foundation