Class Repeatedly
- All Implemented Interfaces:
Serializable
Trigger that fires according to its subtrigger forever.
For example, to fire after the end of the window, and every time late data arrives:
Repeatedly.forever(AfterWatermark.pastEndOfWindow());
Repeatedly.forever(someTrigger) behaves like an infinite
AfterEach.inOrder(someTrigger, someTrigger, someTrigger, ...).
You can use Trigger.orFinally(OnceTrigger) to let another trigger interrupt the repetition.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
Trigger.OnceTrigger -
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
subTriggers -
Method Summary
Modifier and TypeMethodDescriptionstatic RepeatedlyCreate a composite trigger that repeatedly executes the triggerrepeated, firing each time it fires and ignoring any indications to finish.protected TriggergetContinuationTrigger(List<Trigger> continuationTriggers) Subclasses should override this to return theTrigger.getContinuationTrigger()of thisTrigger.For internal use only; no backwards-compatibility guarantees.booleanFor internal use only; no backwards-compatibility guarantees.toString()Methods inherited from class org.apache.beam.sdk.transforms.windowing.Trigger
equals, getContinuationTrigger, hashCode, isCompatible, orFinally, subTriggers
-
Method Details
-
forever
Create a composite trigger that repeatedly executes the triggerrepeated, firing each time it fires and ignoring any indications to finish.Unless used with
Trigger.orFinally(org.apache.beam.sdk.transforms.windowing.Trigger.OnceTrigger)the composite trigger will never finish.- Parameters:
repeated- the trigger to execute repeatedly.
-
getRepeatedTrigger
-
getWatermarkThatGuaranteesFiring
Description copied from class:TriggerFor internal use only; no backwards-compatibility guarantees.Returns a bound in event time by which this trigger would have fired at least once for a given window had there been input data.
For triggers that do not fire based on the watermark advancing, returns
BoundedWindow.TIMESTAMP_MAX_VALUE.This estimate may be used, for example, to determine that there are no elements in a side-input window, which causes the default value to be used instead.
- Specified by:
getWatermarkThatGuaranteesFiringin classTrigger
-
mayFinish
public boolean mayFinish()Description copied from class:TriggerFor internal use only; no backwards-compatibility guarantees.Indicates whether this trigger may "finish". A top level trigger that finishes can cause data loss, so is rejected by GroupByKey validation.
-
getContinuationTrigger
Description copied from class:TriggerSubclasses should override this to return theTrigger.getContinuationTrigger()of thisTrigger. For convenience, this is provided the continuation trigger of each of the sub-triggers in the same order asTrigger.subTriggers.- Specified by:
getContinuationTriggerin classTrigger- Parameters:
continuationTriggers- contains the result ofTrigger.getContinuationTrigger()on each of thesubTriggersin the same order.
-
toString
-