Interface UpsertStreamTableSink<T>
- Type Parameters:
T- Type of records that thisTableSinkexpects 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>>
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 TypeMethodDescriptiondefault 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.voidsetIsAppendOnly(Boolean isAppendOnly) Deprecated.Specifies whether theTableto write is append-only or not.voidsetKeyFields(String[] keys) Deprecated.Configures the unique key fields of theTableto write.Methods inherited from interface org.apache.flink.legacy.table.sinks.StreamTableSink
consumeDataStreamMethods inherited from interface org.apache.flink.table.legacy.sinks.TableSink
configure, getConsumedDataType, getFieldNames, getFieldTypes, getTableSchema
-
Method Details
-
setKeyFields
Deprecated.Configures the unique key fields of theTableto write. The method is called afterTableSink.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
Deprecated.Specifies whether theTableto 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:
getOutputTypein interfaceorg.apache.flink.table.legacy.sinks.TableSink<T>
-
DynamicTableSink. The new interface consumes internal data structures. See FLIP-95 for more information.