@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public static @interface DoFn.Setup
This is a good place to initialize transient in-memory resources, such as network
connections. The resources can then be disposed in DoFn.Teardown
.
This is not a good place to perform external side-effects that later need cleanup,
e.g. creating temporary files on distributed filesystems, starting VMs, or initiating data
export jobs. Such logic must be instead implemented purely via DoFn.StartBundle
,
DoFn.ProcessElement
and DoFn.FinishBundle
methods, references to the objects
requiring cleanup must be passed as PCollection
elements, and they must be cleaned
up via regular Beam transforms, e.g. see the Wait
transform.
The method annotated with this must satisfy the following constraints: