Interface TimestampsAndWatermarks<T>
-
- Type Parameters:
T- The type of the emitted records.
- All Known Implementing Classes:
NoOpTimestampsAndWatermarks,ProgressiveTimestampsAndWatermarks
@Internal public interface TimestampsAndWatermarks<T>Basic interface for the timestamp extraction and watermark generation logic for theSourceReader.Implementations of this class may or may not actually perform certain tasks, like watermark generation. For example, the batch-oriented implementation typically skips all watermark generation logic.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceTimestampsAndWatermarks.WatermarkUpdateListenerLets the owner/creator of the output know about latest emitted watermark.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description org.apache.flink.api.connector.source.ReaderOutput<T>createMainOutput(PushingAsyncDataInput.DataOutput<T> output, TimestampsAndWatermarks.WatermarkUpdateListener watermarkCallback)Creates the ReaderOutput for the source reader, than internally runs the timestamp extraction and watermark generation.static <E> TimestampsAndWatermarks<E>createNoOpEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy, org.apache.flink.metrics.MetricGroup metrics)static <E> TimestampsAndWatermarks<E>createProgressiveEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy, org.apache.flink.metrics.MetricGroup metrics, ProcessingTimeService timeService, long periodicWatermarkIntervalMillis)voidstartPeriodicWatermarkEmits()Starts emitting periodic watermarks, if this implementation produces watermarks, and if periodic watermarks are configured.voidstopPeriodicWatermarkEmits()Stops emitting periodic watermarks.
-
-
-
Method Detail
-
createMainOutput
org.apache.flink.api.connector.source.ReaderOutput<T> createMainOutput(PushingAsyncDataInput.DataOutput<T> output, TimestampsAndWatermarks.WatermarkUpdateListener watermarkCallback)
Creates the ReaderOutput for the source reader, than internally runs the timestamp extraction and watermark generation.
-
startPeriodicWatermarkEmits
void startPeriodicWatermarkEmits()
Starts emitting periodic watermarks, if this implementation produces watermarks, and if periodic watermarks are configured.Periodic watermarks are produced by periodically calling the
WatermarkGenerator.onPeriodicEmit(WatermarkOutput)method of the underlying Watermark Generators.
-
stopPeriodicWatermarkEmits
void stopPeriodicWatermarkEmits()
Stops emitting periodic watermarks.
-
createProgressiveEventTimeLogic
static <E> TimestampsAndWatermarks<E> createProgressiveEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy, org.apache.flink.metrics.MetricGroup metrics, ProcessingTimeService timeService, long periodicWatermarkIntervalMillis)
-
createNoOpEventTimeLogic
static <E> TimestampsAndWatermarks<E> createNoOpEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy, org.apache.flink.metrics.MetricGroup metrics)
-
-