Class BeamSideInputJoinRel

  • All Implemented Interfaces:
    java.lang.Cloneable, BeamRelNode, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptNode, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.hint.Hintable, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode

    public class BeamSideInputJoinRel
    extends BeamJoinRel
    A BeamJoinRel which does sideinput Join

    This Join Covers the case:

    • BoundedTable JOIN UnboundedTable

    sideInput is utilized to implement the join, so there are some constraints:

    • FULL OUTER JOIN is not supported.
    • If it's a LEFT OUTER JOIN, the unbounded table should on the left side.
    • If it's a RIGHT OUTER JOIN, the unbounded table should on the right side.

    General constraints:

    • Only equi-join is supported.
    • CROSS JOIN is not supported.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode

        org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode.Context
    • Field Summary

      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Join

        condition, hints, joinInfo, joinType, variablesSet
      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.BiRel

        left, right
      • Fields inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.AbstractRelNode

        digest, id, rowType, traitSet
    • Constructor Summary

      Constructors 
      Constructor Description
      BeamSideInputJoinRel​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptCluster cluster, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode left, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode right, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode condition, java.util.Set<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.CorrelationId> variablesSet, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.JoinRelType joinType)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollectionList<org.apache.beam.sdk.values.Row>,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>> buildPTransform()  
      org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Join copy​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode conditionExpr, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode left, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode right, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.JoinRelType joinType, boolean semiJoinDone)  
      org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> sideInputJoin​(org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> leftRows, org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> rightRows, org.apache.beam.sdk.schemas.FieldAccessDescriptor leftKeyFields, org.apache.beam.sdk.schemas.FieldAccessDescriptor rightKeyFields)  
      • Methods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Join

        accept, analyzeCondition, computeSelfCost, copy, createJoinType, deepEquals0, deepHashCode0, deriveJoinRowType, deriveRowType, estimateJoinedRows, estimateRowCount, explainTerms, getCondition, getHints, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoin, isSemiJoinDone, isValid
      • Methods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.BiRel

        childrenAccept, getInputs, getLeft, getRight, replaceInput
      • Methods inherited from class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.AbstractRelNode

        accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.hint.Hintable

        attachHints, withHints
      • Methods inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode

        accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, stripped
      • Methods inherited from interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptNode

        getCluster, getDescription, getId, getTraitSet
    • Constructor Detail

      • BeamSideInputJoinRel

        public BeamSideInputJoinRel​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelOptCluster cluster,
                                    org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelTraitSet traitSet,
                                    org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode left,
                                    org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode right,
                                    org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode condition,
                                    java.util.Set<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.CorrelationId> variablesSet,
                                    org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.JoinRelType joinType)
    • Method Detail

      • copy

        public org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Join copy​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.plan.RelTraitSet traitSet,
                                                                                            org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rex.RexNode conditionExpr,
                                                                                            org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode left,
                                                                                            org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.RelNode right,
                                                                                            org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.JoinRelType joinType,
                                                                                            boolean semiJoinDone)
        Specified by:
        copy in class org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.core.Join
      • buildPTransform

        public org.apache.beam.sdk.transforms.PTransform<org.apache.beam.sdk.values.PCollectionList<org.apache.beam.sdk.values.Row>,​org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row>> buildPTransform()
      • sideInputJoin

        public org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> sideInputJoin​(org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> leftRows,
                                                                                                    org.apache.beam.sdk.values.PCollection<org.apache.beam.sdk.values.Row> rightRows,
                                                                                                    org.apache.beam.sdk.schemas.FieldAccessDescriptor leftKeyFields,
                                                                                                    org.apache.beam.sdk.schemas.FieldAccessDescriptor rightKeyFields)