public class BeamSideInputJoinRel extends BeamJoinRel
BeamJoinRel
which does sideinput Join
This Join Covers the case:
sideInput
is utilized to implement the join, so there are some constraints:
FULL OUTER JOIN
is not supported.
LEFT OUTER JOIN
, the unbounded table should on the left side.
RIGHT OUTER JOIN
, the unbounded table should on the right side.
General constraints:
BeamJoinRel.ExtractJoinKeys
Constructor and Description |
---|
BeamSideInputJoinRel(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
org.apache.calcite.rex.RexNode condition,
java.util.Set<org.apache.calcite.rel.core.CorrelationId> variablesSet,
org.apache.calcite.rel.core.JoinRelType joinType) |
Modifier and Type | Method and Description |
---|---|
PTransform<PCollectionList<Row>,PCollection<Row>> |
buildPTransform() |
org.apache.calcite.rel.core.Join |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rex.RexNode conditionExpr,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.RelNode right,
org.apache.calcite.rel.core.JoinRelType joinType,
boolean semiJoinDone) |
PCollection<Row> |
sideInputJoin(PCollection<KV<Row,Row>> extractedLeftRows,
PCollection<KV<Row,Row>> extractedRightRows,
Schema leftSchema,
Schema rightSchema) |
beamComputeSelfCost, buildNullSchema, containsSeekableInput, estimateNodeStats, getBoundednessOfRelNode, getPCollectionInputs, isJoinLegal, isSideInputLookupJoin, nonSeekableInputIndex, seekable, seekableInputIndex, setValueCoder
accept, analyzeCondition, computeSelfCost, copy, createJoinType, deriveJoinRowType, deriveRowType, estimateJoinedRows, estimateRowCount, explainTerms, getChildExps, getCondition, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoin, isSemiJoinDone, isValid
childrenAccept, getInputs, getLeft, getRight, replaceInput
accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, explain, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getPipelineOptions, isBounded
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
public BeamSideInputJoinRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rex.RexNode condition, java.util.Set<org.apache.calcite.rel.core.CorrelationId> variablesSet, org.apache.calcite.rel.core.JoinRelType joinType)
public org.apache.calcite.rel.core.Join copy(org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rex.RexNode conditionExpr, org.apache.calcite.rel.RelNode left, org.apache.calcite.rel.RelNode right, org.apache.calcite.rel.core.JoinRelType joinType, boolean semiJoinDone)
copy
in class org.apache.calcite.rel.core.Join
public PTransform<PCollectionList<Row>,PCollection<Row>> buildPTransform()
public PCollection<Row> sideInputJoin(PCollection<KV<Row,Row>> extractedLeftRows, PCollection<KV<Row,Row>> extractedRightRows, Schema leftSchema, Schema rightSchema)