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 Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecLookupJoin
CUSTOM_SHUFFLE_TRANSFORMATION, 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_PREFER_CUSTOM_SHUFFLE, 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_TRANSFORMATIONFields 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
ConstructorsConstructorDescriptionStreamExecLookupJoin(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, org.apache.flink.table.runtime.operators.join.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, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, int[] inputUpsertKey, List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.RowType outputType, String description, boolean preferCustomShuffle) StreamExecLookupJoin(org.apache.flink.configuration.ReadableConfig tableConfig, org.apache.flink.table.runtime.operators.join.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, org.apache.flink.table.connector.ChangelogMode inputChangelogMode, int[] inputUpsertKey, InputProperty inputProperty, org.apache.flink.table.types.logical.RowType outputType, String description, boolean preferCustomShuffle) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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) org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData>translateToPlanInternal(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, validateLookupKeyTypeMethods 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, translateToPlanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdgesMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlanMethods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
supportFusionCodegen, translateToFusionCodegenSpec
-
Field Details
-
FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE
- See Also:
-
FIELD_NAME_LOOKUP_KEY_CONTAINS_PRIMARY_KEY
- See Also:
-
STATE_NAME
- See Also:
-
FIELD_NAME_INPUT_UPSERT_KEY
- See Also:
-
-
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:ExecNodeBaseInternal method, translates this node into a Flink operator.- Specified by:
translateToPlanInternalin classExecNodeBase<org.apache.flink.table.data.RowData>- Parameters:
planner- The planner.config- per-ExecNodeconfiguration 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 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:
createSyncLookupJoinWithStatein classCommonExecLookupJoin
-