Class AfterWatermark.AfterWatermarkEarlyAndLate

java.lang.Object
org.apache.beam.sdk.transforms.windowing.Trigger
org.apache.beam.sdk.transforms.windowing.AfterWatermark.AfterWatermarkEarlyAndLate
All Implemented Interfaces:
Serializable
Enclosing class:
AfterWatermark

public static class AfterWatermark.AfterWatermarkEarlyAndLate extends Trigger
See Also:
  • Method Details

    • getEarlyTrigger

      public Trigger.OnceTrigger getEarlyTrigger()
    • getLateTrigger

      public Trigger.OnceTrigger getLateTrigger()
    • withEarlyFirings

      public AfterWatermark.AfterWatermarkEarlyAndLate withEarlyFirings(Trigger.OnceTrigger earlyTrigger)
    • withLateFirings

      public AfterWatermark.AfterWatermarkEarlyAndLate withLateFirings(Trigger.OnceTrigger lateTrigger)
    • getContinuationTrigger

      public Trigger getContinuationTrigger()
      Description copied from class: Trigger
      Return a trigger to use after a GroupByKey to preserve the intention of this trigger. Specifically, triggers that are time based and intended to provide speculative results should continue providing speculative results. Triggers that fire once (or multiple times) should continue firing once (or multiple times).

      If this method is not overridden, its default implementation delegates its behavior to Trigger.getContinuationTrigger(List) which is expected to be implemented by subclasses.

      Overrides:
      getContinuationTrigger in class Trigger
    • getContinuationTrigger

      protected Trigger getContinuationTrigger(List<Trigger> continuationTriggers)
      Description copied from class: Trigger
      Subclasses should override this to return the Trigger.getContinuationTrigger() of this Trigger. For convenience, this is provided the continuation trigger of each of the sub-triggers in the same order as Trigger.subTriggers.
      Specified by:
      getContinuationTrigger in class Trigger
      Parameters:
      continuationTriggers - contains the result of Trigger.getContinuationTrigger() on each of the subTriggers in the same order.
    • getWatermarkThatGuaranteesFiring

      public Instant getWatermarkThatGuaranteesFiring(BoundedWindow window)
      Description copied from class: Trigger
      For 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:
      getWatermarkThatGuaranteesFiring in class Trigger
    • mayFinish

      public boolean mayFinish()
      Description copied from class: Trigger
      For 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.

      Specified by:
      mayFinish in class Trigger
      Returns:
      true if there is no late firing set up, otherwise false
    • toString

      public String toString()
      Overrides:
      toString in class Trigger