Class BeamSideInputJoinRel

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.BeamSideInputJoinRel
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 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_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
    BeamSideInputJoinRel(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)
     
    sideInputJoin(PCollection<Row> leftRows, PCollection<Row> rightRows, FieldAccessDescriptor leftKeyFields, FieldAccessDescriptor rightKeyFields)
     

    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

    • BeamSideInputJoinRel

      public BeamSideInputJoinRel(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

    • 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
    • buildPTransform

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

      public PCollection<Row> sideInputJoin(PCollection<Row> leftRows, PCollection<Row> rightRows, FieldAccessDescriptor leftKeyFields, FieldAccessDescriptor rightKeyFields)