@Documented @Retention(value=RUNTIME) @Target(value=METHOD) @Experimental(value=SPLITTABLE_DO_FN) public static @interface DoFn.SplitRestriction
DoFn
into multiple parts to
be processed in parallel.
Signature: void splitRestriction(InputT element, RestrictionT restriction,
OutputReceiver<RestrictionT> receiver, <optional arguments>);
The optional arguments are allowed to be:
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.
Optional: if this method is omitted, the restriction will not be split (equivalent to
defining the method and outputting the restriction
unchanged).