@ExecNodeMetadata(name="stream-exec-deduplicate", version=1, consumedOptions={"table.exec.mini-batch.enabled","table.exec.mini-batch.size","table.exec.deduplicate.insert-update-after-sensitive-enabled","table.exec.deduplicate.mini-batch.compact-changes-enabled"}, producedTransformations="deduplicate", minPlanVersion=v1_15, minStateVersion=v1_15) public class StreamExecDeduplicate extends ExecNodeBase<RowData> implements StreamExecNode<RowData>, SingleTransformationTranslator<RowData>
ExecNode
which deduplicate on keys and keeps only first row or last row. This node
is an optimization of StreamExecRank
for some special cases. Compared to StreamExecRank
, this node could use mini-batch and access less state.Modifier and Type | Field and Description |
---|---|
static String |
DEDUPLICATE_TRANSFORMATION |
static String |
FIELD_NAME_GENERATE_UPDATE_BEFORE |
static String |
FIELD_NAME_IS_ROWTIME |
static String |
FIELD_NAME_KEEP_LAST_ROW |
static String |
FIELD_NAME_UNIQUE_KEYS |
static String |
STATE_NAME |
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 |
---|
StreamExecDeduplicate(int id,
ExecNodeContext context,
ReadableConfig persistedConfig,
int[] uniqueKeys,
boolean isRowtime,
boolean keepLastRow,
boolean generateUpdateBefore,
List<StateMetadata> stateMetadataList,
List<InputProperty> inputProperties,
RowType outputType,
String description) |
StreamExecDeduplicate(ReadableConfig tableConfig,
int[] uniqueKeys,
boolean isRowtime,
boolean keepLastRow,
boolean generateUpdateBefore,
InputProperty inputProperty,
RowType outputType,
String description) |
Modifier and Type | Method and Description |
---|---|
protected Transformation<RowData> |
translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner,
ExecNodeConfig config)
Internal method, translates this node into a Flink operator.
|
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 DEDUPLICATE_TRANSFORMATION
public static final String FIELD_NAME_UNIQUE_KEYS
public static final String FIELD_NAME_IS_ROWTIME
public static final String FIELD_NAME_KEEP_LAST_ROW
public static final String FIELD_NAME_GENERATE_UPDATE_BEFORE
public static final String STATE_NAME
public StreamExecDeduplicate(ReadableConfig tableConfig, int[] uniqueKeys, boolean isRowtime, boolean keepLastRow, boolean generateUpdateBefore, InputProperty inputProperty, RowType outputType, String description)
public StreamExecDeduplicate(int id, ExecNodeContext context, ReadableConfig persistedConfig, int[] uniqueKeys, boolean isRowtime, boolean keepLastRow, boolean generateUpdateBefore, @Nullable List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, RowType outputType, String description)
protected 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
.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.