Class BeamCoGBKJoinRel

  • 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 BeamCoGBKJoinRel
    extends BeamJoinRel
    A BeamJoinRel which does CoGBK Join

    This Join Covers the cases:

    • BoundedTable JOIN BoundedTable
    • UnboundedTable JOIN UnboundedTable

    A CoGBK join is utilized as long as the windowFn of the both sides match. For more info refer BEAM-3345

    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
      BeamCoGBKJoinRel​(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)  
      • 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

      • BeamCoGBKJoinRel

        public BeamCoGBKJoinRel​(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

      • 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()
      • 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