Class EventTimeTrigger
- java.lang.Object
-
- org.apache.flink.streaming.api.windowing.triggers.Trigger<Object,TimeWindow>
-
- org.apache.flink.streaming.api.windowing.triggers.EventTimeTrigger
-
- All Implemented Interfaces:
Serializable
@PublicEvolving public class EventTimeTrigger extends Trigger<Object,TimeWindow>
ATrigger
that fires once the watermark passes the end of the window to which a pane belongs.- See Also:
Watermark
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.streaming.api.windowing.triggers.Trigger
Trigger.OnMergeContext, Trigger.TriggerContext
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canMerge()
Returns true if this trigger supports merging of trigger state and can therefore be used with aMergingWindowAssigner
.void
clear(TimeWindow window, Trigger.TriggerContext ctx)
Clears any state that the trigger might still hold for the given window.static EventTimeTrigger
create()
Creates an event-time trigger that fires once the watermark passes the end of the window.TriggerResult
onElement(Object element, long timestamp, TimeWindow window, Trigger.TriggerContext ctx)
Called for every element that gets added to a pane.TriggerResult
onEventTime(long time, TimeWindow window, Trigger.TriggerContext ctx)
Called when an event-time timer that was set using the trigger context fires.void
onMerge(TimeWindow window, Trigger.OnMergeContext ctx)
Called when several windows have been merged into one window by theWindowAssigner
.TriggerResult
onProcessingTime(long time, TimeWindow window, Trigger.TriggerContext ctx)
Called when a processing-time timer that was set using the trigger context fires.String
toString()
-
-
-
Method Detail
-
onElement
public TriggerResult onElement(Object element, long timestamp, TimeWindow window, Trigger.TriggerContext ctx) throws Exception
Description copied from class:Trigger
Called for every element that gets added to a pane. The result of this will determine whether the pane is evaluated to emit results.- Specified by:
onElement
in classTrigger<Object,TimeWindow>
- Parameters:
element
- The element that arrived.timestamp
- The timestamp of the element that arrived.window
- The window to which the element is being added.ctx
- A context object that can be used to register timer callbacks.- Throws:
Exception
-
onEventTime
public TriggerResult onEventTime(long time, TimeWindow window, Trigger.TriggerContext ctx)
Description copied from class:Trigger
Called when an event-time timer that was set using the trigger context fires.- Specified by:
onEventTime
in classTrigger<Object,TimeWindow>
- Parameters:
time
- The timestamp at which the timer fired.window
- The window for which the timer fired.ctx
- A context object that can be used to register timer callbacks.
-
onProcessingTime
public TriggerResult onProcessingTime(long time, TimeWindow window, Trigger.TriggerContext ctx) throws Exception
Description copied from class:Trigger
Called when a processing-time timer that was set using the trigger context fires.- Specified by:
onProcessingTime
in classTrigger<Object,TimeWindow>
- Parameters:
time
- The timestamp at which the timer fired.window
- The window for which the timer fired.ctx
- A context object that can be used to register timer callbacks.- Throws:
Exception
-
clear
public void clear(TimeWindow window, Trigger.TriggerContext ctx) throws Exception
Description copied from class:Trigger
Clears any state that the trigger might still hold for the given window. This is called when a window is purged. Timers set usingTrigger.TriggerContext.registerEventTimeTimer(long)
andTrigger.TriggerContext.registerProcessingTimeTimer(long)
should be deleted here as well as state acquired usingTrigger.TriggerContext.getPartitionedState(StateDescriptor)
.- Specified by:
clear
in classTrigger<Object,TimeWindow>
- Throws:
Exception
-
canMerge
public boolean canMerge()
Description copied from class:Trigger
Returns true if this trigger supports merging of trigger state and can therefore be used with aMergingWindowAssigner
.If this returns
true
you must properly implementTrigger.onMerge(Window, OnMergeContext)
- Overrides:
canMerge
in classTrigger<Object,TimeWindow>
-
onMerge
public void onMerge(TimeWindow window, Trigger.OnMergeContext ctx)
Description copied from class:Trigger
Called when several windows have been merged into one window by theWindowAssigner
.- Overrides:
onMerge
in classTrigger<Object,TimeWindow>
- Parameters:
window
- The new window that results from the merge.ctx
- A context object that can be used to register timer callbacks and access state.
-
create
public static EventTimeTrigger create()
Creates an event-time trigger that fires once the watermark passes the end of the window.Once the trigger fires all elements are discarded. Elements that arrive late immediately trigger window evaluation with just this one element.
-
-