@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<org.apache.flink.table.data.RowData> implements StreamExecNode<org.apache.flink.table.data.RowData>, SingleTransformationTranslator<org.apache.flink.table.data.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.| 限定符和类型 | 字段和说明 |
|---|---|
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 |
FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_TYPE| 构造器和说明 |
|---|
StreamExecDeduplicate(int id,
ExecNodeContext context,
org.apache.flink.configuration.ReadableConfig persistedConfig,
int[] uniqueKeys,
boolean isRowtime,
boolean keepLastRow,
boolean generateUpdateBefore,
List<InputProperty> inputProperties,
org.apache.flink.table.types.logical.RowType outputType,
String description) |
StreamExecDeduplicate(org.apache.flink.configuration.ReadableConfig tableConfig,
int[] uniqueKeys,
boolean isRowtime,
boolean keepLastRow,
boolean generateUpdateBefore,
InputProperty inputProperty,
org.apache.flink.table.types.logical.RowType outputType,
String description) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.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, inputsContainSingleton, replaceInputEdge, setInputEdges, translateToPlanclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaccept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setInputEdgestranslateToPlanpublic StreamExecDeduplicate(org.apache.flink.configuration.ReadableConfig tableConfig,
int[] uniqueKeys,
boolean isRowtime,
boolean keepLastRow,
boolean generateUpdateBefore,
InputProperty inputProperty,
org.apache.flink.table.types.logical.RowType outputType,
String description)
public StreamExecDeduplicate(int id,
ExecNodeContext context,
org.apache.flink.configuration.ReadableConfig persistedConfig,
int[] uniqueKeys,
boolean isRowtime,
boolean keepLastRow,
boolean generateUpdateBefore,
List<InputProperty> inputProperties,
org.apache.flink.table.types.logical.RowType outputType,
String description)
protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner,
ExecNodeConfig config)
ExecNodeBasetranslateToPlanInternal 在类中 ExecNodeBase<org.apache.flink.table.data.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–2022 The Apache Software Foundation. All rights reserved.