Class StreamExecChangelogNormalize

java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<org.apache.flink.table.data.RowData>
org.apache.flink.table.planner.plan.nodes.exec.stream.StreamExecChangelogNormalize
All Implemented Interfaces:
ExecNode<org.apache.flink.table.data.RowData>, ExecNodeTranslator<org.apache.flink.table.data.RowData>, FusionCodegenExecNode, SingleTransformationTranslator<org.apache.flink.table.data.RowData>, StreamExecNode<org.apache.flink.table.data.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<org.apache.flink.table.data.RowData> implements StreamExecNode<org.apache.flink.table.data.RowData>, SingleTransformationTranslator<org.apache.flink.table.data.RowData>
Stream 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.
  • Field Details

  • Constructor Details

    • StreamExecChangelogNormalize

      public StreamExecChangelogNormalize(org.apache.flink.configuration.ReadableConfig tableConfig, int[] uniqueKeys, boolean generateUpdateBefore, InputProperty inputProperty, org.apache.flink.table.types.logical.RowType outputType, String description)
    • StreamExecChangelogNormalize

      public StreamExecChangelogNormalize(Integer id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, int[] uniqueKeys, boolean generateUpdateBefore, @Nullable List<StateMetadata> stateMetadataList, List<InputProperty> inputProperties, org.apache.flink.table.types.logical.RowType outputType, String description)
  • Method Details

    • translateToPlanInternal

      protected org.apache.flink.api.dag.Transformation<org.apache.flink.table.data.RowData> translateToPlanInternal(PlannerBase planner, ExecNodeConfig config)
      Description copied from class: ExecNodeBase
      Internal method, translates this node into a Flink operator.
      Specified by:
      translateToPlanInternal in class ExecNodeBase<org.apache.flink.table.data.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 the planner. For more details check ExecNodeConfig.