Google Cloud Dataflow SDK for Java, version 1.9.1
Class DoFnWithContext.Context
- java.lang.Object
-
- com.google.cloud.dataflow.sdk.transforms.DoFnWithContext.Context
-
- Direct Known Subclasses:
- DoFnWithContext.ProcessContext
- Enclosing class:
- DoFnWithContext<InputT,OutputT>
public abstract class DoFnWithContext.Context extends Object
Information accessible to all methods in thisDoFnWithContext
.
-
-
Constructor Summary
Constructors Constructor and Description Context()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description abstract PipelineOptions
getPipelineOptions()
abstract void
output(OutputT output)
Adds the given element to the main outputPCollection
.abstract void
outputWithTimestamp(OutputT output, Instant timestamp)
Adds the given element to the main outputPCollection
, with the given timestamp.abstract <T> void
sideOutput(TupleTag<T> tag, T output)
Adds the given element to the side outputPCollection
with the given tag.abstract <T> void
sideOutputWithTimestamp(TupleTag<T> tag, T output, Instant timestamp)
Adds the given element to the specified side outputPCollection
, with the given timestamp.
-
-
-
Method Detail
-
getPipelineOptions
public abstract PipelineOptions getPipelineOptions()
Returns thePipelineOptions
specified with thePipelineRunner
invoking thisDoFnWithContext
. ThePipelineOptions
will be the default running viaDoFnTester
.
-
output
public abstract void output(OutputT output)
Adds the given element to the main outputPCollection
.Once passed to
output
the element should not be modified in any way.If invoked from
DoFnWithContext.ProcessElement
, the output element will have the same timestamp and be in the same windows as the input element passed to the method annotated with@ProcessElement
.If invoked from
DoFnWithContext.StartBundle
orDoFnWithContext.FinishBundle
, this will attempt to use theWindowFn
of the inputPCollection
to determine what windows the element should be in, throwing an exception if theWindowFn
attempts to access any information about the input element. The output element will have a timestamp of negative infinity.
-
outputWithTimestamp
public abstract void outputWithTimestamp(OutputT output, Instant timestamp)
Adds the given element to the main outputPCollection
, with the given timestamp.Once passed to
outputWithTimestamp
the element should not be modified in any way.If invoked from
DoFnWithContext.ProcessElement
), the timestamp must not be older than the input element's timestamp minusDoFn.getAllowedTimestampSkew()
. The output element will be in the same windows as the input element.If invoked from
DoFnWithContext.StartBundle
orDoFnWithContext.FinishBundle
, this will attempt to use theWindowFn
of the inputPCollection
to determine what windows the element should be in, throwing an exception if theWindowFn
attempts to access any information about the input element except for the timestamp.
-
sideOutput
public abstract <T> void sideOutput(TupleTag<T> tag, T output)
Adds the given element to the side outputPCollection
with the given tag.Once passed to
sideOutput
the element should not be modified in any way.The caller of
ParDo
usesParDo.withOutputTags(com.google.cloud.dataflow.sdk.values.TupleTag<OutputT>, com.google.cloud.dataflow.sdk.values.TupleTagList)
to specify the tags of side outputs that it consumes. Non-consumed side outputs, e.g., outputs for monitoring purposes only, don't necessarily need to be specified.The output element will have the same timestamp and be in the same windows as the input element passed to
DoFnWithContext.ProcessElement
).If invoked from
DoFnWithContext.StartBundle
orDoFnWithContext.FinishBundle
, this will attempt to use theWindowFn
of the inputPCollection
to determine what windows the element should be in, throwing an exception if theWindowFn
attempts to access any information about the input element. The output element will have a timestamp of negative infinity.
-
sideOutputWithTimestamp
public abstract <T> void sideOutputWithTimestamp(TupleTag<T> tag, T output, Instant timestamp)
Adds the given element to the specified side outputPCollection
, with the given timestamp.Once passed to
sideOutputWithTimestamp
the element should not be modified in any way.If invoked from
DoFnWithContext.ProcessElement
), the timestamp must not be older than the input element's timestamp minusDoFn.getAllowedTimestampSkew()
. The output element will be in the same windows as the input element.If invoked from
DoFnWithContext.StartBundle
orDoFnWithContext.FinishBundle
, this will attempt to use theWindowFn
of the inputPCollection
to determine what windows the element should be in, throwing an exception if theWindowFn
attempts to access any information about the input element except for the timestamp.
-
-