@PublicEvolving
public static interface DynamicTableSink.Context
DynamicTableSink.SinkRuntimeProvider.
It offers utilities by the planner for creating runtime implementation with minimal dependencies to internal data structures.
Methods should be called in DynamicTableSink.getSinkRuntimeProvider(Context). The returned
instances are Serializable and can be directly passed into the runtime implementation
class.
| Modifier and Type | Method and Description |
|---|---|
DynamicTableSink.DataStructureConverter |
createDataStructureConverter(DataType consumedDataType)
Creates a converter for mapping between Flink's internal data structures and objects
specified by the given
DataType that can be passed into a runtime implementation. |
<T> org.apache.flink.api.common.typeinfo.TypeInformation<T> |
createTypeInformation(DataType consumedDataType)
Creates type information describing the internal data structures of the given
DataType. |
<T> org.apache.flink.api.common.typeinfo.TypeInformation<T> |
createTypeInformation(LogicalType consumedLogicalType)
Creates type information describing the internal data structures of the given
LogicalType. |
Optional<int[][]> |
getTargetColumns()
Returns an
Optional array of column index paths related to user specified target
column list or Optional.empty() when not specified. |
boolean |
isBounded()
Returns whether a runtime implementation can expect a finite number of rows.
|
boolean isBounded()
This information might be derived from the session's execution mode and/or kind of query.
<T> org.apache.flink.api.common.typeinfo.TypeInformation<T> createTypeInformation(DataType consumedDataType)
DataType.ResolvedSchema.toPhysicalRowDataType()<T> org.apache.flink.api.common.typeinfo.TypeInformation<T> createTypeInformation(LogicalType consumedLogicalType)
LogicalType.DynamicTableSink.DataStructureConverter createDataStructureConverter(DataType consumedDataType)
DataType that can be passed into a runtime implementation.
For example, RowData and its fields can be converted into a Row, or
the internal representation for structured types can be converted back into the original
(possibly nested) POJO.
Optional<int[][]> getTargetColumns()
Optional array of column index paths related to user specified target
column list or Optional.empty() when not specified. The array indices are 0-based
and support composite columns within (possibly nested) structures.
This information comes from the column list of the DML clause, e.g., for a sink table
t1 which schema is: a STRING, b ROW < b1 INT, b2 STRING>, c BIGINT
[[0], [1, 1]]. The statement 'insert into t1 select ...' without
specifying a column list will return Optional.empty().
[[0], [1, 0]].
Note: will always return empty for the delete statement because it has no column list.
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.