T
- The type of the emitted records.@Internal public class ProgressiveTimestampsAndWatermarks<T> extends Object implements TimestampsAndWatermarks<T>
TimestampsAndWatermarks
that does periodic watermark emission and
keeps track of watermarks on a per-split basis. This should be used in execution contexts where
watermarks are important for efficiency/correctness, for example in STREAMING execution mode.TimestampsAndWatermarks.WatermarkUpdateListener
Constructor and Description |
---|
ProgressiveTimestampsAndWatermarks(TimestampAssigner<T> timestampAssigner,
WatermarkGeneratorSupplier<T> watermarksFactory,
WatermarkGeneratorSupplier.Context watermarksContext,
ProcessingTimeService timeService,
java.time.Duration periodicWatermarkInterval) |
Modifier and Type | Method and Description |
---|---|
ReaderOutput<T> |
createMainOutput(PushingAsyncDataInput.DataOutput<T> output,
TimestampsAndWatermarks.WatermarkUpdateListener watermarkUpdateListener)
Creates the ReaderOutput for the source reader, than internally runs the timestamp extraction
and watermark generation.
|
void |
startPeriodicWatermarkEmits()
Starts emitting periodic watermarks, if this implementation produces watermarks, and if
periodic watermarks are configured.
|
void |
stopPeriodicWatermarkEmits()
Stops emitting periodic watermarks.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createNoOpEventTimeLogic, createProgressiveEventTimeLogic
public ProgressiveTimestampsAndWatermarks(TimestampAssigner<T> timestampAssigner, WatermarkGeneratorSupplier<T> watermarksFactory, WatermarkGeneratorSupplier.Context watermarksContext, ProcessingTimeService timeService, java.time.Duration periodicWatermarkInterval)
public ReaderOutput<T> createMainOutput(PushingAsyncDataInput.DataOutput<T> output, TimestampsAndWatermarks.WatermarkUpdateListener watermarkUpdateListener)
TimestampsAndWatermarks
createMainOutput
in interface TimestampsAndWatermarks<T>
public void startPeriodicWatermarkEmits()
TimestampsAndWatermarks
Periodic watermarks are produced by periodically calling the WatermarkGenerator.onPeriodicEmit(WatermarkOutput)
method of the underlying Watermark Generators.
startPeriodicWatermarkEmits
in interface TimestampsAndWatermarks<T>
public void stopPeriodicWatermarkEmits()
TimestampsAndWatermarks
stopPeriodicWatermarkEmits
in interface TimestampsAndWatermarks<T>
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.