T
- The type of the input elements@PublicEvolving public class DynamicProcessingTimeSessionWindows<T> extends MergingWindowAssigner<T,TimeWindow>
WindowAssigner
that windows elements into sessions based on the current processing
time. Windows cannot overlap.
For example, in order to window into windows with a dynamic time gap:
DataStream<Tuple2<String, Integer>> in = ...;
KeyedStream<String, Tuple2<String, Integer>> keyed = in.keyBy(...);
WindowedStream<Tuple2<String, Integer>, String, TimeWindows> windowed =
keyed.window(DynamicProcessingTimeSessionWindows.withDynamicGap({@link SessionWindowTimeGapExtractor }));
MergingWindowAssigner.MergeCallback<W>
WindowAssigner.WindowAssignerContext
限定符和类型 | 字段和说明 |
---|---|
protected SessionWindowTimeGapExtractor<T> |
sessionWindowTimeGapExtractor |
限定符 | 构造器和说明 |
---|---|
protected |
DynamicProcessingTimeSessionWindows(SessionWindowTimeGapExtractor<T> sessionWindowTimeGapExtractor) |
限定符和类型 | 方法和说明 |
---|---|
Collection<TimeWindow> |
assignWindows(T element,
long timestamp,
WindowAssigner.WindowAssignerContext context)
Returns a
Collection of windows that should be assigned to the element. |
Trigger<T,TimeWindow> |
getDefaultTrigger(StreamExecutionEnvironment env)
Returns the default trigger associated with this
WindowAssigner . |
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. |
void |
mergeWindows(Collection<TimeWindow> windows,
MergingWindowAssigner.MergeCallback<TimeWindow> c)
Merge overlapping
TimeWindow s. |
String |
toString() |
static <T> DynamicProcessingTimeSessionWindows<T> |
withDynamicGap(SessionWindowTimeGapExtractor<T> sessionWindowTimeGapExtractor)
Creates a new
SessionWindows WindowAssigner that assigns
elements to sessions based on the element timestamp. |
protected SessionWindowTimeGapExtractor<T> sessionWindowTimeGapExtractor
protected DynamicProcessingTimeSessionWindows(SessionWindowTimeGapExtractor<T> sessionWindowTimeGapExtractor)
public Collection<TimeWindow> assignWindows(T element, long timestamp, WindowAssigner.WindowAssignerContext context)
WindowAssigner
Collection
of windows that should be assigned to the element.assignWindows
在类中 WindowAssigner<T,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 Trigger<T,TimeWindow> getDefaultTrigger(StreamExecutionEnvironment env)
WindowAssigner
WindowAssigner
.getDefaultTrigger
在类中 WindowAssigner<T,TimeWindow>
public static <T> DynamicProcessingTimeSessionWindows<T> withDynamicGap(SessionWindowTimeGapExtractor<T> sessionWindowTimeGapExtractor)
SessionWindows
WindowAssigner
that assigns
elements to sessions based on the element timestamp.sessionWindowTimeGapExtractor
- The extractor to use to extract the time gap from the input elementspublic org.apache.flink.api.common.typeutils.TypeSerializer<TimeWindow> getWindowSerializer(org.apache.flink.api.common.ExecutionConfig executionConfig)
WindowAssigner
TypeSerializer
for serializing windows that are assigned by
this WindowAssigner
.getWindowSerializer
在类中 WindowAssigner<T,TimeWindow>
public boolean isEventTime()
WindowAssigner
true
if elements are assigned to windows based on event time,
false
otherwise.isEventTime
在类中 WindowAssigner<T,TimeWindow>
public void mergeWindows(Collection<TimeWindow> windows, MergingWindowAssigner.MergeCallback<TimeWindow> c)
TimeWindow
s.mergeWindows
在类中 MergingWindowAssigner<T,TimeWindow>
windows
- The window candidates.c
- A callback that can be invoked to signal which windows should be merged.Copyright © 2014–2019 The Apache Software Foundation. All rights reserved.