class DeltaDynamicTableSink extends DynamicTableSink with SupportsPartitioning
Sink of a dynamic Flink table to a Delta lake table.
It utilizes new Flink Sink API (available for Flink >= 1.12) and interfaces (available
for Flink >= 1.13) provided for interoperability between this new Sink API and Table API.
It also supports static partitioning.
For regular batch scenarios, the sink can solely accept insert-only rows and write out bounded streams.
For regular streaming scenarios, the sink can solely accept insert-only rows and can write out unbounded streams.
- Alphabetic
- By Inheritance
- DeltaDynamicTableSink
- SupportsPartitioning
- DynamicTableSink
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new DeltaDynamicTableSink(basePath: Path, hadoopConf: Configuration, rowType: RowType, catalogTable: CatalogTable)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
applyStaticPartition(partition: Map[String, String]): Unit
Static values for partitions that should set explicitly instead of being derived from the content of the records.
Static values for partitions that should set explicitly instead of being derived from the content of the records.
If all partition keys get a value assigned in the
PARTITIONclause, the operation is considered an "insertion into a static partition". In the below example, the query result should be written into the static partitionregion='europe', month='2020-01'which will be passed by the planner intoapplyStaticPartition(Map).INSERT INTO t PARTITION (region='europe', month='2020-01') SELECT a, b, c FROM my_view;
If only a subset of all partition keys get a static value assigned in the
PARTITIONclause or with a constant part in aSELECTclause, the operation is considered an "insertion into a dynamic partition". In the below example, the static partition part isregion='europe'which will be passed by the planner into#applyStaticPartition(Map). The remaining values for partition keys should be obtained from each individual record by the sink during runtime.INSERT INTO t PARTITION (region='europe') SELECT a, b, c, month FROM another_view;
- partition
map of static partitions and their values.
- Definition Classes
- DeltaDynamicTableSink → SupportsPartitioning
- Annotations
- @Override()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asSummaryString(): String
- Definition Classes
- DeltaDynamicTableSink → DynamicTableSink
- Annotations
- @Override()
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
copy(): DynamicTableSink
- Definition Classes
- DeltaDynamicTableSink → DynamicTableSink
- Annotations
- @Override()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getChangelogMode(requestedMode: ChangelogMode): ChangelogMode
Returns the set of changes that the sink accepts during runtime.
Returns the set of changes that the sink accepts during runtime.
- requestedMode
expected set of changes by the current plan
- returns
ChangelogModeonly allowing for inserts to the Delta table
- Definition Classes
- DeltaDynamicTableSink → DynamicTableSink
- Annotations
- @Override()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getSinkRuntimeProvider(context: Context): SinkRuntimeProvider
Utility method for transition from Flink's DataStream to Table API.
Utility method for transition from Flink's DataStream to Table API.
- context
Context for creating runtime implementation via a
SinkRuntimeProvider.- returns
provider representing
DeltaSinkimplementation for writing the data to a Delta table.
- Definition Classes
- DeltaDynamicTableSink → DynamicTableSink
- Annotations
- @Override()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
requiresPartitionGrouping(arg0: Boolean): Boolean
- Definition Classes
- SupportsPartitioning
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()