@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.Modifier and Type | Field and Description |
---|---|
static String |
FIELD_NAME_LOOKUP_KEY_CONTAINS_PRIMARY_KEY |
static String |
FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE |
static String |
STATE_NAME |
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
FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_STATE, FIELD_NAME_TYPE
Constructor and 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,
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,
InputProperty inputProperty,
RowType outputType,
String description) |
Modifier and Type | Method and 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.
|
createJoinTransformation, createSyncLookupJoinFunction, getProjectionOutputRelDataType, getRightOutputRowType, getTemporalTableSourceSpec, validateLookupKeyType
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdges
translateToPlan
supportFusionCodegen, translateToFusionCodegenSpec
public static final String FIELD_NAME_REQUIRE_UPSERT_MATERIALIZE
public static final String FIELD_NAME_LOOKUP_KEY_CONTAINS_PRIMARY_KEY
public static final String STATE_NAME
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, InputProperty inputProperty, RowType outputType, String description)
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 List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, RowType outputType, String description)
public Transformation<RowData> translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
ExecNodeBase
translateToPlanInternal
in class ExecNodeBase<RowData>
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
.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)
createSyncLookupJoinWithState
in class CommonExecLookupJoin
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.