Interface WatermarkStrategyWithPeriodicWatermarks<T>

  • Type Parameters:
    T - The type of the elements to which this assigner assigns timestamps.
    All Superinterfaces:
    Serializable, TimestampAssigner<T>, TimestampAssignerSupplier<T>, WatermarkGeneratorSupplier<T>, WatermarkStrategy<T>
    All Known Implementing Classes:
    AscendingTimestampExtractor, BoundedOutOfOrdernessTimestampExtractor, PeriodicWatermarkAssignerWrapper

    @Internal
    public interface WatermarkStrategyWithPeriodicWatermarks<T>
    extends WatermarkStrategy<T>, TimestampAssigner<T>
    The WatermarkStrategyWithPeriodicWatermarks assigns event time timestamps to elements, and generates low watermarks that signal event time progress within the stream. These timestamps and watermarks are used by functions and operators that operate on event time, for example event time windows.

    Use this class to generate watermarks in a periodical interval. At most every i milliseconds (configured via ExecutionConfig.getAutoWatermarkInterval()), the system will call the getCurrentWatermark() method to probe for the next watermark value. The system will generate a new watermark, if the probed value is non-null and has a timestamp larger than that of the previous watermark (to preserve the contract of ascending watermarks).

    The system may call the getCurrentWatermark() method less often than every i milliseconds, if no new elements arrived since the last call to the method.

    Timestamps and watermarks are defined as longs that represent the milliseconds since the Epoch (midnight, January 1, 1970 UTC). A watermark with a certain value t indicates that no elements with event timestamps x, where x is lower or equal to t, will occur any more.

    See Also:
    Watermark