Interface WatermarkEstimator<WatermarkEstimatorStateT>

All Known Subinterfaces:
ManualWatermarkEstimator<WatermarkEstimatorStateT>, TimestampObservingWatermarkEstimator<WatermarkEstimatorStateT>, WatermarkEstimators.WatermarkAndStateObserver<WatermarkEstimatorStateT>
All Known Implementing Classes:
WatermarkEstimators.Manual, WatermarkEstimators.MonotonicallyIncreasing, WatermarkEstimators.WallTime

public interface WatermarkEstimator<WatermarkEstimatorStateT>
A WatermarkEstimator which is used for estimating output watermarks of a splittable DoFn. See WatermarkEstimators for commonly used watermark estimators.
  • Method Details

    • currentWatermark

      Instant currentWatermark()
      Return estimated output watermark. This method must return monotonically increasing watermarks across instances that are constructed from prior state.
    • getState

      Get current state of the WatermarkEstimator instance, which can be used to recreate the WatermarkEstimator when processing the restriction. See DoFn.NewWatermarkEstimator for additional details.

      The internal state of the estimator must not be mutated by this method.

      The state returned must not be mutated.