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 boolean
equals(Object o)
I
getSlidingInterval()
The sliding interval of the window.L
getWindowLength()
The length of the window.int
hashCode()
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, anIllegalArgumentException
will 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_FIELD
field. It must be defined on a per-component basis, and in conjunction with theBaseWindowedBolt.withTimestampField(java.lang.String)
, otherwiseIllegalArgumentException
will 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:
equals
in classBaseWindow<L,I>
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classBaseWindow<L,I>
-
-