Class CommonExecLegacySink<T>

java.lang.Object
org.apache.flink.table.planner.plan.nodes.exec.ExecNodeBase<T>
org.apache.flink.table.planner.plan.nodes.exec.common.CommonExecLegacySink<T>
Type Parameters:
T - The return type of the TableSink.
All Implemented Interfaces:
ExecNode<T>, ExecNodeTranslator<T>, FusionCodegenExecNode, MultipleTransformationTranslator<T>
Direct Known Subclasses:
BatchExecLegacySink, StreamExecLegacySink

public abstract class CommonExecLegacySink<T> extends ExecNodeBase<T> implements MultipleTransformationTranslator<T>
Base ExecNode to write data into an external sink defined by a TableSink.
  • Field Details

    • tableSink

      protected final org.apache.flink.table.legacy.sinks.TableSink<T> tableSink
    • upsertKeys

      @Nullable protected final String[] upsertKeys
    • needRetraction

      protected final boolean needRetraction
    • isStreaming

      protected final boolean isStreaming
  • Constructor Details

    • CommonExecLegacySink

      public CommonExecLegacySink(int id, ExecNodeContext context, org.apache.flink.configuration.ReadableConfig persistedConfig, org.apache.flink.table.legacy.sinks.TableSink<T> tableSink, @Nullable String[] upsertKeys, boolean needRetraction, boolean isStreaming, InputProperty inputProperty, org.apache.flink.table.types.logical.LogicalType outputType, String description)
  • Method Details

    • translateToPlanInternal

      protected org.apache.flink.api.dag.Transformation<T> 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<T>
      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.
    • checkAndConvertInputTypeIfNeeded

      protected abstract org.apache.flink.table.types.logical.RowType checkAndConvertInputTypeIfNeeded(org.apache.flink.table.types.logical.RowType inputRowType)
      Check whether the given row type is legal and do some conversion if needed.