@ExecNodeMetadata(name="stream-exec-changelog-normalize", version=1, consumedOptions={"table.exec.mini-batch.enabled","table.exec.mini-batch.size"}, producedTransformations="changelog-normalize", minPlanVersion=v1_15, minStateVersion=v1_15) public class StreamExecChangelogNormalize extends ExecNodeBase<RowData> implements StreamExecNode<RowData>, SingleTransformationTranslator<RowData>
ExecNode
which normalizes a changelog stream which maybe an upsert stream or a
changelog stream containing duplicate events. This node normalize such stream into a regular
changelog stream that contains INSERT/UPDATE_BEFORE/UPDATE_AFTER/DELETE records without
duplication.Modifier and Type | Field and Description |
---|---|
static String |
CHANGELOG_NORMALIZE_TRANSFORMATION |
static String |
FIELD_NAME_GENERATE_UPDATE_BEFORE |
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
Constructor and Description |
---|
StreamExecChangelogNormalize(Integer id,
ExecNodeContext context,
ReadableConfig persistedConfig,
int[] uniqueKeys,
boolean generateUpdateBefore,
List<InputProperty> inputProperties,
RowType outputType,
String description) |
StreamExecChangelogNormalize(ReadableConfig tableConfig,
int[] uniqueKeys,
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, resetTransformation, setCompiled, setInputEdges, translateToPlan
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdges
translateToPlan
public static final String CHANGELOG_NORMALIZE_TRANSFORMATION
public static final String FIELD_NAME_UNIQUE_KEYS
public static final String FIELD_NAME_GENERATE_UPDATE_BEFORE
public StreamExecChangelogNormalize(ReadableConfig tableConfig, int[] uniqueKeys, boolean generateUpdateBefore, InputProperty inputProperty, RowType outputType, String description)
public StreamExecChangelogNormalize(Integer id, ExecNodeContext context, ReadableConfig persistedConfig, int[] uniqueKeys, boolean generateUpdateBefore, 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.