public class POMergeJoin extends PhysicalOperator
Modifier and Type | Class and Description |
---|---|
static class |
POMergeJoin.TuplesToSchemaTupleList
This is a class that extends ArrayList, making it easy to provide on the fly conversion
from Tuple to SchemaTuple.
|
PhysicalOperator.OriginalLocation
Modifier and Type | Field and Description |
---|---|
protected LoadFunc |
rightLoader |
protected FuncSpec |
rightLoaderFuncSpec |
alias, illustrator, input, inputAttached, inputs, lineageTracer, mBagFactory, mTupleFactory, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, RESULT_EMPTY, RESULT_EOP, resultType
Constructor and Description |
---|
POMergeJoin(OperatorKey k,
int rp,
java.util.List<PhysicalOperator> inp,
MultiMap<PhysicalOperator,PhysicalPlan> inpPlans,
java.util.List<java.util.List<java.lang.Byte>> keyTypes,
LOJoin.JOINTYPE joinType,
Schema leftInputSchema,
Schema rightInputSchema,
Schema mergedInputSchema) |
POMergeJoin(POMergeJoin copy) |
Modifier and Type | Method and Description |
---|---|
POMergeJoin |
clone()
Make a copy of this operator.
|
java.lang.String |
getIndexFile() |
java.util.List<PhysicalPlan> |
getInnerPlansOf(int index) |
LOJoin.JOINTYPE |
getJoinType() |
POLocalRearrange[] |
getLRs() |
Result |
getNextTuple() |
protected LoadFunc |
getRightLoader()
Instantiate right loader
|
java.lang.String |
getSignature() |
Tuple |
illustratorMarkup(java.lang.Object in,
java.lang.Object out,
int eqClassIndex)
input tuple mark up to be illustrate-able
|
boolean |
isEndOfInput() |
java.lang.String |
name() |
void |
setEndOfInput(boolean isEndOfInput) |
void |
setIndexFile(java.lang.String indexFile) |
void |
setRightInputFileName(java.lang.String rightInputFileName) |
void |
setRightLoaderFuncSpec(FuncSpec rightLoaderFuncSpec) |
void |
setSignature(java.lang.String signature) |
void |
setupRightPipeline(PhysicalPlan rightPipeline) |
boolean |
supportsMultipleInputs()
Indicates whether this operator supports multiple inputs.
|
boolean |
supportsMultipleOutputs()
Indicates whether this operator supports multiple outputs.
|
void |
throwProcessingException(boolean withCauseException,
java.lang.Exception e) |
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, setAccumEnd, setAccumStart, setAccumulative, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType, staticDataCleanup
compareTo, equals, getOperatorKey, getProjectionMap, hashCode, regenerateProjectionMap, rewire, toString, unsetProjectionMap
protected transient LoadFunc rightLoader
protected FuncSpec rightLoaderFuncSpec
public POMergeJoin(OperatorKey k, int rp, java.util.List<PhysicalOperator> inp, MultiMap<PhysicalOperator,PhysicalPlan> inpPlans, java.util.List<java.util.List<java.lang.Byte>> keyTypes, LOJoin.JOINTYPE joinType, Schema leftInputSchema, Schema rightInputSchema, Schema mergedInputSchema) throws PlanException
k
- rp
- inp
- inpPlans
- there can only be 2 inputs each being a ListPlanException
public POMergeJoin(POMergeJoin copy)
public boolean isEndOfInput()
public void setEndOfInput(boolean isEndOfInput)
public Result getNextTuple() throws ExecException
getNextTuple
in class PhysicalOperator
ExecException
protected LoadFunc getRightLoader() throws ExecException, java.io.IOException
java.io.IOException
ExecException
public void throwProcessingException(boolean withCauseException, java.lang.Exception e) throws ExecException
ExecException
public void setupRightPipeline(PhysicalPlan rightPipeline) throws FrontendException
FrontendException
public void setRightLoaderFuncSpec(FuncSpec rightLoaderFuncSpec)
public java.util.List<PhysicalPlan> getInnerPlansOf(int index)
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 setRightInputFileName(java.lang.String rightInputFileName)
rightInputFileName
- the rightInputFileName to setpublic java.lang.String getSignature()
public void setSignature(java.lang.String signature)
public void setIndexFile(java.lang.String indexFile)
public java.lang.String getIndexFile()
public 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 LOJoin.JOINTYPE getJoinType()
public POLocalRearrange[] getLRs()
public POMergeJoin clone() throws java.lang.CloneNotSupportedException
PhysicalOperator
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}
Copyright © 2007-2025 The Apache Software Foundation