Class StreamExecLookupJoin

java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<org.apache.flink.table.data.RowData>
org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecLookupJoin
org.apache.flink.table.planner.plan.nodes.exec.stream.StreamExecLookupJoin
All Implemented Interfaces:
ExecNode<org.apache.flink.table.data.RowData>, ExecNodeTranslator<org.apache.flink.table.data.RowData>, FusionCodegenExecNode, MultipleTransformationTranslator<org.apache.flink.table.data.RowData>, StreamExecNode<org.apache.flink.table.data.RowData>

@ExecNodeMetadata(name="stream-exec-lookup-join", version=1, producedTransformations="lookup-join", minPlanVersion=v1_15, minStateVersion=v1_15) public class StreamExecLookupJoin extends CommonExecLookupJoin implements StreamExecNode<org.apache.flink.table.data.RowData>, MultipleTransformationTranslator<org.apache.flink.table.data.RowData>
StreamExecNode for temporal table join that implemented by lookup.
  • Field Details

  • Constructor Details

    • StreamExecLookupJoin

      public StreamExecLookupJoin(org.apache.flink.configuration.ReadableConfig tableConfig, org.apache.flink.table.runtime.operators.join.FlinkJoinType joinType, @Nullable org.apache.calcite.rex.RexNode preFilterCondition, @Nullable org.apache.calcite.rex.RexNode remainingJoinCondition, TemporalTableSourceSpec temporalTableSourceSpec, Map<Integer,LookupJoinUtil.LookupKey> lookupKeys, @Nullable List<org.apache.calcite.rex.RexNode> projectionOnTemporalTable, @Nullable org.apache.calcite.rex.RexNode filterOnTemporalTable, boolean lookupKeyContainsPrimaryKey, boolean upsertMaterialize, @Nullable LookupJoinUtil.AsyncLookupOptions asyncLookupOptions, @Nullable LookupJoinUtil.RetryLookupOptions retryOptions, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, @Nullable int[] inputUpsertKey, InputProperty inputProperty, org.apache.flink.table.types.logical.RowType outputType, String description, boolean preferCustomShuffle)
    • StreamExecLookupJoin

      public StreamExecLookupJoin(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, org.apache.flink.table.runtime.operators.join.FlinkJoinType joinType, @Nullable org.apache.calcite.rex.RexNode preFilterCondition, @Nullable org.apache.calcite.rex.RexNode remainingJoinCondition, TemporalTableSourceSpec temporalTableSourceSpec, Map<Integer,LookupJoinUtil.LookupKey> lookupKeys, @Nullable List<org.apache.calcite.rex.RexNode> projectionOnTemporalTable, @Nullable org.apache.calcite.rex.RexNode filterOnTemporalTable, boolean lookupKeyContainsPrimaryKey, boolean upsertMaterialize, @Nullable LookupJoinUtil.AsyncLookupOptions asyncLookupOptions, @Nullable LookupJoinUtil.RetryLookupOptions retryOptions, @Nullable org.apache.flink.table.connector.ChangelogMode inputChangelogMode, @Nullable int[] inputUpsertKey, @Nullable List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.RowType outputType, String description, boolean preferCustomShuffle)
  • Method Details

    • translateToPlanInternal

      public org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateToPlanInternal(PlannerBase planner, ExecNodeConfig config)
      Description copied from class: ExecNodeBase
      Internal method, translates this node into a Flink operator.
      Specified by:
      translateToPlanInternal in class ExecNodeBase<org.apache.flink.table.data.RowData>
      Parameters:
      planner - The planner.
      config - per-ExecNode configuration that contains the merged configuration from various layers which all the nodes implementing this method should use, instead of retrieving configuration from the planner. For more details check ExecNodeConfig.
    • createSyncLookupJoinWithState

      protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> createSyncLookupJoinWithState(org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> inputTransformation, org.apache.calcite.plan.RelOptTable temporalTable, ExecNodeConfig config, ClassLoader classLoader, Map<Integer,LookupJoinUtil.LookupKey> allLookupKeys, org.apache.flink.table.functions.TableFunction<?> syncLookupFunction, RelBuilder relBuilder, org.apache.flink.table.types.logical.RowType inputRowType, org.apache.flink.table.types.logical.RowType tableSourceRowType, org.apache.flink.table.types.logical.RowType resultRowType, boolean isLeftOuterJoin, boolean isObjectReuseEnabled, boolean lookupKeyContainsPrimaryKey)
      Specified by:
      createSyncLookupJoinWithState in class CommonExecLookupJoin