Class StreamExecChangelogNormalize
- java.lang.Object
-
- org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<RowData>
-
- org.apache.flink.table.planner.plan.nodes.exec.stream.StreamExecChangelogNormalize
-
- All Implemented Interfaces:
ExecNode<RowData>
,ExecNodeTranslator<RowData>
,FusionCodegenExecNode
,SingleTransformationTranslator<RowData>
,StreamExecNode<RowData>
@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>
StreamExecNode
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.
-
-
Field Summary
Fields Modifier and Type Field Description static String
CHANGELOG_NORMALIZE_TRANSFORMATION
static String
FIELD_NAME_GENERATE_UPDATE_BEFORE
static String
FIELD_NAME_UNIQUE_KEYS
static String
STATE_NAME
-
Fields inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
FIELD_NAME_CONFIGURATION, FIELD_NAME_DESCRIPTION, FIELD_NAME_ID, FIELD_NAME_INPUT_PROPERTIES, FIELD_NAME_OUTPUT_TYPE, FIELD_NAME_STATE, FIELD_NAME_TYPE
-
-
Constructor Summary
Constructors Constructor Description StreamExecChangelogNormalize(Integer id, ExecNodeContext context, ReadableConfig persistedConfig, int[] uniqueKeys, boolean generateUpdateBefore, List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, RowType outputType, String description)
StreamExecChangelogNormalize(ReadableConfig tableConfig, int[] uniqueKeys, boolean generateUpdateBefore, InputProperty inputProperty, RowType outputType, String description)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Transformation<RowData>
translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
Internal method, translates this node into a Flink operator.-
Methods inherited from class org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase
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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNode
accept, getDescription, getId, getInputEdges, getInputProperties, getOutputType, replaceInputEdge, setCompiled, setInputEdges
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.ExecNodeTranslator
translateToPlan
-
Methods inherited from interface org.apache.flink.table.planner.plan.nodes.exec.FusionCodegenExecNode
supportFusionCodegen, translateToFusionCodegenSpec
-
-
-
-
Field Detail
-
CHANGELOG_NORMALIZE_TRANSFORMATION
public static final String CHANGELOG_NORMALIZE_TRANSFORMATION
- See Also:
- Constant Field Values
-
FIELD_NAME_UNIQUE_KEYS
public static final String FIELD_NAME_UNIQUE_KEYS
- See Also:
- Constant Field Values
-
FIELD_NAME_GENERATE_UPDATE_BEFORE
public static final String FIELD_NAME_GENERATE_UPDATE_BEFORE
- See Also:
- Constant Field Values
-
STATE_NAME
public static final String STATE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StreamExecChangelogNormalize
public StreamExecChangelogNormalize(ReadableConfig tableConfig, int[] uniqueKeys, boolean generateUpdateBefore, InputProperty inputProperty, RowType outputType, String description)
-
StreamExecChangelogNormalize
public StreamExecChangelogNormalize(Integer id, ExecNodeContext context, ReadableConfig persistedConfig, int[] uniqueKeys, boolean generateUpdateBefore, @Nullable List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, RowType outputType, String description)
-
-
Method Detail
-
translateToPlanInternal
protected Transformation<RowData> translateToPlanInternal(org.apache.flink.table.planner.delegation.PlannerBase planner, ExecNodeConfig config)
Description copied from class:ExecNodeBase
Internal method, translates this node into a Flink operator.- Specified by:
translateToPlanInternal
in classExecNodeBase<RowData>
- Parameters:
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 theplanner
. For more details checkExecNodeConfig
.
-
-