@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).