T - The type of the emitted records.@Internal
public interface TimestampsAndWatermarks<T>
SourceReader.
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.
| Modifier and Type | Interface and Description |
|---|---|
static class |
TimestampsAndWatermarks.TimestampsAndWatermarksContextProvider |
static interface |
TimestampsAndWatermarks.WatermarkUpdateListener
Lets the owner/creator of the output know about latest emitted watermark.
|
| Modifier and Type | Method and 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,
org.apache.flink.util.clock.RelativeClock inputActivityClock) |
static <E> TimestampsAndWatermarks<E> |
createProgressiveEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy,
org.apache.flink.metrics.MetricGroup metrics,
ProcessingTimeService timeService,
long periodicWatermarkIntervalMillis,
org.apache.flink.util.clock.RelativeClock mainInputActivityClock,
org.apache.flink.util.clock.Clock clock,
org.apache.flink.runtime.metrics.groups.TaskIOMetricGroup taskIOMetricGroup) |
void |
emitImmediateWatermark(long wallClockTimestamp)
Emit a watermark immediately.
|
void |
pauseOrResumeSplits(Collection<String> splitsToPause,
Collection<String> splitsToResume) |
void |
startPeriodicWatermarkEmits()
Starts emitting periodic watermarks, if this implementation produces watermarks, and if
periodic watermarks are configured.
|
void |
stopPeriodicWatermarkEmits()
Stops emitting periodic watermarks.
|
org.apache.flink.api.connector.source.ReaderOutput<T> createMainOutput(PushingAsyncDataInput.DataOutput<T> output, TimestampsAndWatermarks.WatermarkUpdateListener watermarkCallback)
void startPeriodicWatermarkEmits()
Periodic watermarks are produced by periodically calling the WatermarkGenerator.onPeriodicEmit(WatermarkOutput)
method of the underlying Watermark Generators.
void stopPeriodicWatermarkEmits()
void emitImmediateWatermark(long wallClockTimestamp)
void pauseOrResumeSplits(Collection<String> splitsToPause, Collection<String> splitsToResume)
static <E> TimestampsAndWatermarks<E> createProgressiveEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy, org.apache.flink.metrics.MetricGroup metrics, ProcessingTimeService timeService, long periodicWatermarkIntervalMillis, org.apache.flink.util.clock.RelativeClock mainInputActivityClock, org.apache.flink.util.clock.Clock clock, org.apache.flink.runtime.metrics.groups.TaskIOMetricGroup taskIOMetricGroup)
static <E> TimestampsAndWatermarks<E> createNoOpEventTimeLogic(org.apache.flink.api.common.eventtime.WatermarkStrategy<E> watermarkStrategy, org.apache.flink.metrics.MetricGroup metrics, org.apache.flink.util.clock.RelativeClock inputActivityClock)
Copyright © 2014–2025 The Apache Software Foundation. All rights reserved.