public class TumblingProcessingTimeWindows extends WindowAssigner<Object,TimeWindow>
WindowAssigner that windows elements into windows based on the current system time of
the machine the operation is running on. Windows cannot overlap.
For example, in order to window into windows of 1 minute, every 10 seconds:
DataStream<Tuple2<String, Integer>> in = ...;
KeyedStream<String, Tuple2<String, Integer>> keyed = in.keyBy(...);
WindowedStream<Tuple2<String, Integer>, String, TimeWindows> windowed =
keyed.window(TumblingProcessingTimeWindows.of(Time.of(1, MINUTES), Time.of(10, SECONDS));
WindowAssigner.WindowAssignerContext| 限定符和类型 | 方法和说明 |
|---|---|
Collection<TimeWindow> |
assignWindows(Object element,
long timestamp,
WindowAssigner.WindowAssignerContext context)
Returns a
Collection of windows that should be assigned to the element. |
Trigger<Object,TimeWindow> |
getDefaultTrigger(StreamExecutionEnvironment env)
Returns the default trigger associated with this
WindowAssigner. |
long |
getSize() |
org.apache.flink.api.common.typeutils.TypeSerializer<TimeWindow> |
getWindowSerializer(org.apache.flink.api.common.ExecutionConfig executionConfig)
Returns a
TypeSerializer for serializing windows that are assigned by this WindowAssigner. |
boolean |
isEventTime()
Returns
true if elements are assigned to windows based on event time, false
otherwise. |
static TumblingProcessingTimeWindows |
of(Time size)
Creates a new
TumblingProcessingTimeWindows WindowAssigner that assigns
elements to time windows based on the element timestamp. |
static TumblingProcessingTimeWindows |
of(Time size,
Time offset)
Creates a new
TumblingProcessingTimeWindows WindowAssigner that assigns
elements to time windows based on the element timestamp and offset. |
String |
toString() |
public Collection<TimeWindow> assignWindows(Object element, long timestamp, WindowAssigner.WindowAssignerContext context)
WindowAssignerCollection of windows that should be assigned to the element.assignWindows 在类中 WindowAssigner<Object,TimeWindow>element - The element to which windows should be assigned.timestamp - The timestamp of the element.context - The WindowAssigner.WindowAssignerContext in which the assigner operates.public long getSize()
public Trigger<Object,TimeWindow> getDefaultTrigger(StreamExecutionEnvironment env)
WindowAssignerWindowAssigner.getDefaultTrigger 在类中 WindowAssigner<Object,TimeWindow>public static TumblingProcessingTimeWindows of(Time size)
TumblingProcessingTimeWindows WindowAssigner that assigns
elements to time windows based on the element timestamp.size - The size of the generated windows.public static TumblingProcessingTimeWindows of(Time size, Time offset)
TumblingProcessingTimeWindows WindowAssigner 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 UTC+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.
size - The size of the generated windows.offset - The offset which window start would be shifted by.public org.apache.flink.api.common.typeutils.TypeSerializer<TimeWindow> getWindowSerializer(org.apache.flink.api.common.ExecutionConfig executionConfig)
WindowAssignerTypeSerializer for serializing windows that are assigned by this WindowAssigner.getWindowSerializer 在类中 WindowAssigner<Object,TimeWindow>public boolean isEventTime()
WindowAssignertrue if elements are assigned to windows based on event time, false
otherwise.isEventTime 在类中 WindowAssigner<Object,TimeWindow>Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.