@Documented @Retention(value=RUNTIME) @Target(value=METHOD) @Experimental(value=SPLITTABLE_DO_FN) public static @interface DoFn.NewWatermarkEstimator
WatermarkEstimator
for the watermark state
of a splittable DoFn
.
Signature: 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.WatermarkEstimatorState
annotation,
then it will be passed the current watermark estimator state; the argument must be of
type WatermarkEstimatorStateT
.
DoFn.Element
annotation, then it will be
passed the current element being processed; the argument must be of type InputT
.
Note that automatic conversion of Row
s and DoFn.FieldAccess
parameters are
currently unsupported.
DoFn.Restriction
annotation, then it will
be passed the current restriction being processed; the argument must be of type RestrictionT
.
DoFn.Timestamp
annotation, then it will be
passed the timestamp of the current element being processed; the argument must be of type
Instant
.
BoundedWindow
, then it will be passed the
window of the current element. When applied by ParDo
the subtype of BoundedWindow
must 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.