Class AfterEach
java.lang.Object
org.apache.beam.sdk.transforms.windowing.Trigger
org.apache.beam.sdk.transforms.windowing.AfterEach
- All Implemented Interfaces:
Serializable
A composite
Trigger that executes its sub-triggers in order. Only one sub-trigger is
executing at a time, and any time it fires the AfterEach fires. When the currently
executing sub-trigger finishes, the AfterEach starts executing the next sub-trigger.
AfterEach.inOrder(t1, t2, ...) finishes when all of the sub-triggers have finished.
The following properties hold:
AfterEach.inOrder(AfterEach.inOrder(a, b), c)behaves the same asAfterEach.inOrder(a, b, c)andAfterEach.inOrder(a, AfterEach.inOrder(b, c).AfterEach.inOrder(Repeatedly.forever(a), b)behaves the same asRepeatedly.forever(a), since the repeated trigger never finishes.
- 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 TypeMethodDescriptionprotected TriggergetContinuationTrigger(List<Trigger> continuationTriggers) Subclasses should override this to return theTrigger.getContinuationTrigger()of thisTrigger.For internal use only; no backwards-compatibility guarantees.static AfterEachReturns anAfterEachTriggerwith the given subtriggers.static AfterEachReturns anAfterEachTriggerwith the given subtriggers.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
-
inOrder
Returns anAfterEachTriggerwith the given subtriggers. -
inOrder
Returns anAfterEachTriggerwith the given subtriggers. -
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
-