T - The type of the input elements@PublicEvolving public class DynamicEventTimeSessionWindows<T> extends MergingWindowAssigner<T,TimeWindow>
WindowAssigner that windows elements into sessions based on the timestamp of the
elements. 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(DynamicEventTimeSessionWindows.withDynamicGap({@link SessionWindowTimeGapExtractor }));
MergingWindowAssigner.MergeCallback<W>WindowAssigner.WindowAssignerContext| 限定符和类型 | 字段和说明 |
|---|---|
protected SessionWindowTimeGapExtractor<T> |
sessionWindowTimeGapExtractor |
| 限定符 | 构造器和说明 |
|---|---|
protected |
DynamicEventTimeSessionWindows(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()
Returns the default trigger associated with this
WindowAssigner. |
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
TimeWindows. |
String |
toString() |
static <T> DynamicEventTimeSessionWindows<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 DynamicEventTimeSessionWindows(SessionWindowTimeGapExtractor<T> sessionWindowTimeGapExtractor)
public Collection<TimeWindow> assignWindows(T element, long timestamp, WindowAssigner.WindowAssignerContext context)
WindowAssignerCollection 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)
WindowAssignerWindowAssigner.public Trigger<T,TimeWindow> getDefaultTrigger()
WindowAssignerWindowAssigner.
1. If you override getDefaultTrigger(), the getDefaultTrigger() will be
invoked and the getDefaultTrigger(StreamExecutionEnvironment env) won't be invoked.
2. If you don't override getDefaultTrigger(), the getDefaultTrigger(StreamExecutionEnvironment env) will be invoked in the default
implementation of the getDefaultTrigger().
getDefaultTrigger 在类中 WindowAssigner<T,TimeWindow>public static <T> DynamicEventTimeSessionWindows<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)
WindowAssignerTypeSerializer for serializing windows that are assigned by this WindowAssigner.getWindowSerializer 在类中 WindowAssigner<T,TimeWindow>public boolean isEventTime()
WindowAssignertrue 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)
TimeWindows.mergeWindows 在类中 MergingWindowAssigner<T,TimeWindow>windows - The window candidates.c - A callback that can be invoked to signal which windows should be merged.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.