@Documented @Retention(value=RUNTIME) @Target(value=METHOD) @Experimental(value=SPLITTABLE_DO_FN) public static @interface DoFn.NewWatermarkEstimator
WatermarkEstimatorfor the watermark state of a splittable
MyWatermarkEstimator newWatermarkEstimator(<optional arguments>);
If the return type is a subtype of
TimestampObservingWatermarkEstimator then the
timestamp of each element output from this DoFn is provided to the watermark estimator.
This method must satisfy the following constraints:
WatermarkEstimator<WatermarkEstimatorStateT>. It is suggested to use as narrow of a return type definition as possible (for example prefer to use a square type over a shape type as a square is a type of a shape).
DoFn.WatermarkEstimatorStateannotation, then it will be passed the current watermark estimator state; the argument must be of type
DoFn.Elementannotation, then it will be passed the current element being processed; the argument must be of type
InputT. Note that automatic conversion of
DoFn.FieldAccessparameters are currently unsupported.
DoFn.Restrictionannotation, then it will be passed the current restriction being processed; the argument must be of type
DoFn.Timestampannotation, then it will be passed the timestamp of the current element being processed; the argument must be of type
BoundedWindow, then it will be passed the window of the current element. When applied by
ParDothe subtype of
BoundedWindowmust match the type of windows on the input
PCollection. If the window is not accessed a runner may perform additional optimizations.
PaneInfo, then it will be passed information about the current triggering pane.
PipelineOptions, then it will be passed the options for the current pipeline.