Class BeamCoGBKJoinRel

java.lang.Object
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.AbstractRelNode
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.BiRel
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.Join
org.apache.beam.sdk.extensions.sql.impl.rel.BeamJoinRel
org.apache.beam.sdk.extensions.sql.impl.rel.BeamCoGBKJoinRel
All Implemented Interfaces:
Cloneable, BeamRelNode, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptNode, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.hint.Hintable, org.apache.beam.vendor.calcite.v1_28_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_28_0.org.apache.calcite.rel.RelNode

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

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

    condition, hints, joinInfo, joinType, variablesSet

    Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.BiRel

    left, right

    Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.AbstractRelNode

    digest, id, rowType, traitSet
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
     
    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.Join
    copy(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode conditionExpr, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode left, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode right, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.JoinRelType joinType, boolean semiJoinDone)
     

    Methods inherited from class org.apache.beam.vendor.calcite.v1_28_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_28_0.org.apache.calcite.rel.BiRel

    childrenAccept, getInputs, getLeft, getRight, replaceInput

    Methods inherited from class org.apache.beam.vendor.calcite.v1_28_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.sdk.extensions.sql.impl.rel.BeamRelNode

    buildPTransform, getPipelineOptions, isBounded, withErrorsTransformer

    Methods inherited from interface org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.hint.Hintable

    attachHints, withHints

    Methods inherited from interface org.apache.beam.vendor.calcite.v1_28_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

    Methods inherited from interface org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptNode

    getCluster, getDescription, getId, getTraitSet
  • Constructor Details

    • BeamCoGBKJoinRel

      public BeamCoGBKJoinRel(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode left, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode right, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode condition, Set<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.CorrelationId> variablesSet, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.core.JoinRelType joinType)
  • Method Details

    • buildPTransform

      public PTransform<PCollectionList<Row>,PCollection<Row>> buildPTransform()
    • copy

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