Class StreamExecLookupJoin
- java.lang.Object
-
- org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<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<RowData>
,ExecNodeTranslator<RowData>
,FusionCodegenExecNode
,MultipleTransformationTranslator<RowData>
,StreamExecNode<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<RowData>, MultipleTransformationTranslator<RowData>
StreamExecNode
for temporal table join that implemented by lookup.
-
-
Field Summary
Fields Modifier and Type Field Description static String
FIELD_NAME_INPUT_UPSERT_KEY
static String
FIELD_NAME_LOOKUP_KEY_CONTAINS_PRIMARY_KEY
static String
FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE
static String
STATE_NAME
-
Fields inherited from class org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecLookupJoin
FIELD_NAME_ASYNC_OPTIONS, FIELD_NAME_FILTER_ON_TEMPORAL_TABLE, FIELD_NAME_INPUT_CHANGELOG_MODE, FIELD_NAME_JOIN_TYPE, FIELD_NAME_LOOKUP_KEYS, FIELD_NAME_PRE_FILTER_CONDITION, FIELD_NAME_PROJECTION_ON_TEMPORAL_TABLE, FIELD_NAME_REMAINING_JOIN_CONDITION, FIELD_NAME_RETRY_OPTIONS, FIELD_NAME_TEMPORAL_TABLE, LOOKUP_JOIN_MATERIALIZE_TRANSFORMATION, LOOKUP_JOIN_TRANSFORMATION
-
Fields inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_STATE, FIELD_NAME_TYPE
-
-
Constructor Summary
Constructors Constructor Description StreamExecLookupJoin(int id, ExecNodeContext context, ReadableConfig persistedConfig, FlinkJoinType joinType, org.apache.calcite.rex.RexNode preFilterCondition, org.apache.calcite.rex.RexNode remainingJoinCondition, TemporalTableSourceSpec temporalTableSourceSpec, Map<Integer,LookupJoinUtil.LookupKey> lookupKeys, List<org.apache.calcite.rex.RexNode> projectionOnTemporalTable, org.apache.calcite.rex.RexNode filterOnTemporalTable, boolean lookupKeyContainsPrimaryKey, boolean upsertMaterialize, LookupJoinUtil.AsyncLookupOptions asyncLookupOptions, LookupJoinUtil.RetryLookupOptions retryOptions, ChangelogMode inputChangelogMode, int[] inputUpsertKey, List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, RowType outputType, String description)
StreamExecLookupJoin(ReadableConfig tableConfig, FlinkJoinType joinType, org.apache.calcite.rex.RexNode preFilterCondition, org.apache.calcite.rex.RexNode remainingJoinCondition, TemporalTableSourceSpec temporalTableSourceSpec, Map<Integer,LookupJoinUtil.LookupKey> lookupKeys, List<org.apache.calcite.rex.RexNode> projectionOnTemporalTable, org.apache.calcite.rex.RexNode filterOnTemporalTable, boolean lookupKeyContainsPrimaryKey, boolean upsertMaterialize, LookupJoinUtil.AsyncLookupOptions asyncLookupOptions, LookupJoinUtil.RetryLookupOptions retryOptions, ChangelogMode inputChangelogMode, int[] inputUpsertKey, InputProperty inputProperty, RowType outputType, String description)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Transformation<RowData>
createSyncLookupJoinWithState(Transformation<RowData> inputTransformation, org.apache.calcite.plan.RelOptTable temporalTable, ExecNodeConfig config, ClassLoader classLoader, Map<Integer,LookupJoinUtil.LookupKey> allLookupKeys, TableFunction<?> syncLookupFunction, RelBuilder relBuilder, RowType inputRowType, RowType tableSourceRowType, RowType resultRowType, boolean isLeftOuterJoin, boolean isObjectReuseEnabled, boolean lookupKeyContainsPrimaryKey)
Transformation<RowData>
translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
Internal method, translates this node into a Flink operator.-
Methods inherited from class org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecLookupJoin
createJoinTransformation, createSyncLookupJoinFunction, getProjectionOutputRelDataType, getRightOutputRowType, getTemporalTableSourceSpec, validateLookupKeyType
-
Methods inherited from class org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase
accept, createFormattedTransformationDescription, createFormattedTransformationName, createTransformationDescription, createTransformationMeta, createTransformationMeta, createTransformationName, createTransformationUid, getContextFromAnnotation, getDescription, getId, getInputEdges, getInputProperties, getOutputType, getPersistedConfig, getSimplifiedName, getTransformation, inputsContainSingleton, replaceInputEdge, setCompiled, setInputEdges, supportFusionCodegen, translateToFusionCodegenSpec, translateToFusionCodegenSpecInternal, translateToPlan
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdges
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlan
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
supportFusionCodegen, translateToFusionCodegenSpec
-
-
-
-
Field Detail
-
FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE
public static final String FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE
- See Also:
- Constant Field Values
-
FIELD_NAME_LOOKUP_KEY_CONTAINS_PRIMARY_KEY
public static final String FIELD_NAME_LOOKUP_KEY_CONTAINS_PRIMARY_KEY
- See Also:
- Constant Field Values
-
STATE_NAME
public static final String STATE_NAME
- See Also:
- Constant Field Values
-
FIELD_NAME_INPUT_UPSERT_KEY
public static final String FIELD_NAME_INPUT_UPSERT_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StreamExecLookupJoin
public StreamExecLookupJoin(ReadableConfig tableConfig, 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, ChangelogMode inputChangelogMode, @Nullable int[] inputUpsertKey, InputProperty inputProperty, RowType outputType, String description)
-
StreamExecLookupJoin
public StreamExecLookupJoin(int id, ExecNodeContext context, ReadableConfig persistedConfig, 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 ChangelogMode inputChangelogMode, @Nullable int[] inputUpsertKey, @Nullable List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, RowType outputType, String description)
-
-
Method Detail
-
translateToPlanInternal
public Transformation<RowData> translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
Description copied from class:ExecNodeBase
Internal method, translates this node into a Flink operator.- Specified by:
translateToPlanInternal
in classExecNodeBase<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 theplanner
. For more details checkExecNodeConfig
.
-
createSyncLookupJoinWithState
protected Transformation<RowData> createSyncLookupJoinWithState(Transformation<RowData> inputTransformation, org.apache.calcite.plan.RelOptTable temporalTable, ExecNodeConfig config, ClassLoader classLoader, Map<Integer,LookupJoinUtil.LookupKey> allLookupKeys, TableFunction<?> syncLookupFunction, RelBuilder relBuilder, RowType inputRowType, RowType tableSourceRowType, RowType resultRowType, boolean isLeftOuterJoin, boolean isObjectReuseEnabled, boolean lookupKeyContainsPrimaryKey)
- Specified by:
createSyncLookupJoinWithState
in classCommonExecLookupJoin
-
-