Class TumblingWindowAssigner

    • Constructor Detail

      • TumblingWindowAssigner

        protected TumblingWindowAssigner​(long size,
                                         long offset,
                                         boolean isEventTime)
    • Method Detail

      • getWindowSerializer

        public org.apache.flink.api.common.typeutils.TypeSerializer<TimeWindow> getWindowSerializer​(org.apache.flink.api.common.ExecutionConfig executionConfig)
        Description copied from class: GroupWindowAssigner
        Returns a TypeSerializer for serializing windows that are assigned by this WindowAssigner.
        Specified by:
        getWindowSerializer in class GroupWindowAssigner<TimeWindow>
      • of

        public static TumblingWindowAssigner of​(java.time.Duration size)
        Creates a new TumblingWindowAssigner GroupWindowAssigner that assigns elements to time windows based on the element timestamp.
        Parameters:
        size - The size of the generated windows.
        Returns:
        The time policy.
      • withOffset

        public TumblingWindowAssigner withOffset​(java.time.Duration offset)
        Creates a new TumblingWindowAssigner GroupWindowAssigner that assigns elements to time windows based on the element timestamp and offset.

        For example, if you want window a stream by hour,but window begins at the 15th minutes of each hour, you can use of(Time.hours(1),Time.minutes(15)),then you will get time windows start at 0:15:00,1:15:00,2:15:00,etc.

        Rather than that,if you are living in somewhere which is not using UTC±00:00 time, such as China which is using GMT+08:00,and you want a time window with size of one day, and window begins at every 00:00:00 of local time,you may use of(Time.days(1),Time.hours(-8)). The parameter of offset is Time.hours(-8)) since UTC+08:00 is 8 hours earlier than UTC time.

        Parameters:
        offset - The offset which window start would be shifted by.
        Returns:
        The time policy.