Class SlidingWindows<L,I>
- java.lang.Object
-
- org.apache.storm.streams.windowing.BaseWindow<L,I>
-
- org.apache.storm.streams.windowing.SlidingWindows<L,I>
-
- Type Parameters:
L- The type of the window length (e.g. Duration or Count)I- The type of the sliding interval (e.g. Duration or Count)
- All Implemented Interfaces:
Serializable,Window<L,I>
public class SlidingWindows<L,I> extends BaseWindow<L,I>
A sliding window specification based on a window length and sliding interval.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.storm.streams.windowing.BaseWindow
lag, lateTupleStream, timestampField
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)IgetSlidingInterval()The sliding interval of the window.LgetWindowLength()The length of the window.inthashCode()static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Count>of(BaseWindowedBolt.Count windowLength, BaseWindowedBolt.Count slidingInterval)Count based sliding window configuration.static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Duration>of(BaseWindowedBolt.Count windowLength, BaseWindowedBolt.Duration slidingInterval)Tuple count and time duration based sliding window configuration.static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Count>of(BaseWindowedBolt.Duration windowLength, BaseWindowedBolt.Count slidingInterval)Time duration and count based sliding window configuration.static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Duration>of(BaseWindowedBolt.Duration windowLength, BaseWindowedBolt.Duration slidingInterval)Time duration based sliding window configuration.SlidingWindows<L,I>withLag(BaseWindowedBolt.Duration duration)Specify the maximum time lag of the tuple timestamp in milliseconds.SlidingWindows<L,I>withLateTupleStream(String streamId)Specify a stream id on which late tuples are going to be emitted.SlidingWindows<L,I>withTimestampField(String fieldName)The name of the field in the tuple that contains the timestamp when the event occurred as a long value.-
Methods inherited from class org.apache.storm.streams.windowing.BaseWindow
getLag, getLateTupleStream, getTimestampField
-
-
-
-
Method Detail
-
of
public static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Count> of(BaseWindowedBolt.Count windowLength, BaseWindowedBolt.Count slidingInterval)
Count based sliding window configuration.- Parameters:
windowLength- the number of tuples in the windowslidingInterval- the number of tuples after which the window slides
-
of
public static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Duration> of(BaseWindowedBolt.Duration windowLength, BaseWindowedBolt.Duration slidingInterval)
Time duration based sliding window configuration.- Parameters:
windowLength- the time duration of the windowslidingInterval- the time duration after which the window slides
-
of
public static SlidingWindows<BaseWindowedBolt.Count,BaseWindowedBolt.Duration> of(BaseWindowedBolt.Count windowLength, BaseWindowedBolt.Duration slidingInterval)
Tuple count and time duration based sliding window configuration.- Parameters:
windowLength- the number of tuples in the windowslidingInterval- the time duration after which the window slides
-
of
public static SlidingWindows<BaseWindowedBolt.Duration,BaseWindowedBolt.Count> of(BaseWindowedBolt.Duration windowLength, BaseWindowedBolt.Count slidingInterval)
Time duration and count based sliding window configuration.- Parameters:
windowLength- the time duration of the windowslidingInterval- the number of tuples after which the window slides
-
getWindowLength
public L getWindowLength()
The length of the window.- Returns:
- the window length
-
getSlidingInterval
public I getSlidingInterval()
The sliding interval of the window.- Returns:
- the sliding interval
-
withTimestampField
public SlidingWindows<L,I> withTimestampField(String fieldName)
The name of the field in the tuple that contains the timestamp when the event occurred as a long value. This is used of event-time based processing. If this config is set and the field is not present in the incoming tuple, anIllegalArgumentExceptionwill be thrown.- Parameters:
fieldName- the name of the field that contains the timestamp
-
withLateTupleStream
public SlidingWindows<L,I> withLateTupleStream(String streamId)
Specify a stream id on which late tuples are going to be emitted. They are going to be accessible via theWindowedBoltExecutor.LATE_TUPLE_FIELDfield. It must be defined on a per-component basis, and in conjunction with theBaseWindowedBolt.withTimestampField(java.lang.String), otherwiseIllegalArgumentExceptionwill be thrown.- Parameters:
streamId- the name of the stream used to emit late tuples on
-
withLag
public SlidingWindows<L,I> withLag(BaseWindowedBolt.Duration duration)
Specify the maximum time lag of the tuple timestamp in milliseconds. It means that the tuple timestamps cannot be out of order by more than this amount.- Parameters:
duration- the max lag duration
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classBaseWindow<L,I>
-
hashCode
public int hashCode()
- Overrides:
hashCodein classBaseWindow<L,I>
-
-