@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<org.apache.flink.table.data.RowData> implements StreamExecNode<org.apache.flink.table.data.RowData>, SingleTransformationTranslator<org.apache.flink.table.data.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,
org.apache.flink.configuration.ReadableConfig persistedConfig,
int[] uniqueKeys,
boolean generateUpdateBefore,
List<InputProperty> inputProperties,
org.apache.flink.table.types.logical.RowType outputType,
String description) |
StreamExecChangelogNormalize(org.apache.flink.configuration.ReadableConfig tableConfig,
int[] uniqueKeys,
boolean generateUpdateBefore,
InputProperty inputProperty,
org.apache.flink.table.types.logical.RowType outputType,
String description) |
| Modifier and Type | Method and 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, setCompiled, setInputEdges, translateToPlanclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaccept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdgestranslateToPlanpublic 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(org.apache.flink.configuration.ReadableConfig tableConfig,
int[] uniqueKeys,
boolean generateUpdateBefore,
InputProperty inputProperty,
org.apache.flink.table.types.logical.RowType outputType,
String description)
public StreamExecChangelogNormalize(Integer id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, int[] uniqueKeys, 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 in class 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.