Interface UpsertStreamTableSink<T>

Type Parameters:
T - Type of records that this TableSink expects and supports.
All Superinterfaces:
StreamTableSink<org.apache.flink.api.java.tuple.Tuple2<Boolean,T>>, org.apache.flink.table.legacy.sinks.TableSink<org.apache.flink.api.java.tuple.Tuple2<Boolean,T>>

@Deprecated @Internal public interface UpsertStreamTableSink<T> extends StreamTableSink<org.apache.flink.api.java.tuple.Tuple2<Boolean,T>>
Deprecated.
This interface has been replaced by DynamicTableSink. The new interface consumes internal data structures. See FLIP-95 for more information.
Defines an external TableSink to emit a streaming Table with insert, update, and delete changes. The Table must be have unique key fields (atomic or composite) or be append-only.

If the Table does not have a unique key and is not append-only, a TableException will be thrown.

The unique key of the table is configured by the setKeyFields(String[]) method.

The Table will be converted into a stream of upsert and delete messages which are encoded as Tuple2. The first field is a Boolean flag to indicate the message type. The second field holds the record of the requested type UpsertStreamTableSink.

A message with true Boolean field is an upsert message for the configured key.

A message with false flag is a delete message for the configured key.

If the table is append-only, all messages will have a true flag and must be interpreted as insertions.

  • Method Summary

    Modifier and Type
    Method
    Description
    default org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.api.java.tuple.Tuple2<Boolean,T>>
    Deprecated.
     
    org.apache.flink.api.common.typeinfo.TypeInformation<T>
    Deprecated.
    Returns the requested record type.
    void
    setIsAppendOnly(Boolean isAppendOnly)
    Deprecated.
    Specifies whether the Table to write is append-only or not.
    void
    Deprecated.
    Configures the unique key fields of the Table to write.

    Methods inherited from interface org.apache.flink.legacy.table.sinks.StreamTableSink

    consumeDataStream

    Methods inherited from interface org.apache.flink.table.legacy.sinks.TableSink

    configure, getConsumedDataType, getFieldNames, getFieldTypes, getTableSchema
  • Method Details

    • setKeyFields

      void setKeyFields(String[] keys)
      Deprecated.
      Configures the unique key fields of the Table to write. The method is called after TableSink.configure(String[], TypeInformation[]).

      The keys array might be empty, if the table consists of a single (updated) record. If the table does not have a key and is append-only, the keys attribute is null.

      Parameters:
      keys - the field names of the table's keys, an empty array if the table has a single row, and null if the table is append-only and has no key.
    • setIsAppendOnly

      void setIsAppendOnly(Boolean isAppendOnly)
      Deprecated.
      Specifies whether the Table to write is append-only or not.
      Parameters:
      isAppendOnly - true if the table is append-only, false otherwise.
    • getRecordType

      org.apache.flink.api.common.typeinfo.TypeInformation<T> getRecordType()
      Deprecated.
      Returns the requested record type.
    • getOutputType

      default org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.api.java.tuple.Tuple2<Boolean,T>> getOutputType()
      Deprecated.
      Specified by:
      getOutputType in interface org.apache.flink.table.legacy.sinks.TableSink<T>