@PublicEvolving
public interface SupportsSourceWatermark
ScanTableSource itself.
The concept of watermarks defines when time operations based on an event time attribute will be triggered. A watermark tells operators that no elements with a timestamp older or equal to the watermark timestamp should arrive at the operator. Thus, watermarks are a trade-off between latency and completeness.
Given the following SQL:
CREATE TABLE t (i INT, ts TIMESTAMP(3), WATERMARK FOR ts AS SOURCE_WATERMARK()) // `ts` becomes a time attribute
In the above example, the SOURCE_WATERMARK() is a built-in marker function that will
be detected by the planner and translated into a call to this interface if available. If a source
does not implement this interface, an exception will be thrown.
Compared to SupportsWatermarkPushDown, it is not possible to influence a source's
watermark strategy using customs expressions if SOURCE_WATERMARK() is declared.
Nevertheless, a source can implement both interfaces if necessary.
SupportsWatermarkPushDown| Modifier and Type | Method and Description |
|---|---|
void |
applySourceWatermark()
Instructs the source to emit source-specific watermarks during runtime.
|
Copyright © 2014–2025 The Apache Software Foundation. All rights reserved.