@Documented @Retention(value=RUNTIME) @Target(value=METHOD) public static @interface DoFn.GetSize
This method must satisfy the following constraints:
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
RestrictionTracker, then it will be passed a tracker that is initialized for the current
DoFn.Restriction. The argument must be of the exact 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.
Returns a non-negative double representing the size of the current element and restriction.
DoFns should only provide this method if the default
RestrictionTracker.HasProgress implementation within the
RestrictionTracker is an
inaccurate representation of known work.
It is up to each splittable to convert between their natural representation of outstanding work and this representation. For example:
message bytesthat have not been processed.
1.0unless additional details such as the number of bytes for keys and values is known for the key range.
Must be thread safe. Will be invoked concurrently during bundle processing due to runner initiated splitting and progress estimation.