Class Windows<W extends Window>

  • Type Parameters:
    W - type of the window instance
    Direct Known Subclasses:
    JoinWindows, TimeWindows, UnlimitedWindows

    public abstract class Windows<W extends Window>
    extends Object
    The window specification for fixed size windows that is used to define window boundaries and grace period.

    Grace period defines how long to wait on out-of-order events. That is, windows will continue to accept new records until stream_time >= window_end + grace_period. Records that arrive after the grace period passed are considered late and will not be processed but are dropped.

    Warning: It may be unsafe to use objects of this class in set- or map-like collections, since the equals and hashCode methods depend on mutable fields.

    See Also:
    TimeWindows, UnlimitedWindows, JoinWindows, SessionWindows, TimestampExtractor
    • Field Detail

      • segments

        @Deprecated
        public int segments
        Deprecated.
    • Constructor Detail

      • Windows

        protected Windows()
    • Method Detail

      • maintainMs

        @Deprecated
        public long maintainMs()
        Deprecated.
        since 2.1. Use Materialized.retention instead.
        Return the window maintain duration (retention time) in milliseconds.
        Returns:
        the window maintain duration
      • segments

        @Deprecated
        protected Windows<W> segments​(int segments)
                               throws IllegalArgumentException
        Deprecated.
        since 2.1 Override segmentInterval() instead.
        Set the number of segments to be used for rolling the window store. This function is not exposed to users but can be called by developers that extend this class.
        Parameters:
        segments - the number of segments to be used
        Returns:
        itself
        Throws:
        IllegalArgumentException - if specified segments is small than 2
      • windowsFor

        public abstract Map<Long,​W> windowsFor​(long timestamp)
        Create all windows that contain the provided timestamp, indexed by non-negative window start timestamps.
        Parameters:
        timestamp - the timestamp window should get created for
        Returns:
        a map of windowStartTimestamp -> Window entries
      • size

        public abstract long size()
        Return the size of the specified windows in milliseconds.
        Returns:
        the size of the specified windows
      • gracePeriodMs

        public abstract long gracePeriodMs()
        Return the window grace period (the time to admit out-of-order events after the end of the window.) Delay is defined as (stream_time - record_timestamp).