Google Cloud Dataflow SDK for Java, version 1.9.1
Class MapElements<InputT,OutputT>
- java.lang.Object
-
- com.google.cloud.dataflow.sdk.transforms.PTransform<PCollection<InputT>,PCollection<OutputT>>
-
- com.google.cloud.dataflow.sdk.transforms.MapElements<InputT,OutputT>
-
- All Implemented Interfaces:
- HasDisplayData, Serializable
public class MapElements<InputT,OutputT> extends PTransform<PCollection<InputT>,PCollection<OutputT>>
PTransform
s for mapping a simple function over the elements of aPCollection
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
MapElements.MissingOutputTypeDescriptor<InputT,OutputT>
An intermediate builder for aMapElements
transform.
-
Field Summary
-
Fields inherited from class com.google.cloud.dataflow.sdk.transforms.PTransform
name
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description PCollection<OutputT>
apply(PCollection<InputT> input)
Applies thisPTransform
on the givenInputT
, and returns itsOutput
.void
populateDisplayData(DisplayData.Builder builder)
Register display data for the given transform or component.static <InputT,OutputT>
MapElements.MissingOutputTypeDescriptor<InputT,OutputT>via(SerializableFunction<InputT,OutputT> fn)
For aSerializableFunction<InputT, OutputT>
fn
and output type descriptor, returns aPTransform
that takes an inputPCollection<InputT>
and returns aPCollection<OutputT>
containingfn.apply(v)
for every elementv
in the input.static <InputT,OutputT>
MapElements<InputT,OutputT>via(SimpleFunction<InputT,OutputT> fn)
For aSimpleFunction<InputT, OutputT>
fn
, returns aPTransform
that takes an inputPCollection<InputT>
and returns aPCollection<OutputT>
containingfn.apply(v)
for every elementv
in the input.-
Methods inherited from class com.google.cloud.dataflow.sdk.transforms.PTransform
getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, toString, validate
-
-
-
-
Method Detail
-
via
public static <InputT,OutputT> MapElements.MissingOutputTypeDescriptor<InputT,OutputT> via(SerializableFunction<InputT,OutputT> fn)
For aSerializableFunction<InputT, OutputT>
fn
and output type descriptor, returns aPTransform
that takes an inputPCollection<InputT>
and returns aPCollection<OutputT>
containingfn.apply(v)
for every elementv
in the input.Example of use in Java 8:
PCollection<Integer> wordLengths = words.apply( MapElements.via((String word) -> word.length()) .withOutputType(new TypeDescriptor<Integer>() {});
In Java 7, the overload
via(SimpleFunction)
is more concise as the output type descriptor need not be provided.
-
via
public static <InputT,OutputT> MapElements<InputT,OutputT> via(SimpleFunction<InputT,OutputT> fn)
For aSimpleFunction<InputT, OutputT>
fn
, returns aPTransform
that takes an inputPCollection<InputT>
and returns aPCollection<OutputT>
containingfn.apply(v)
for every elementv
in the input.This overload is intended primarily for use in Java 7. In Java 8, the overload
via(SerializableFunction)
supports use of lambda for greater concision.Example of use in Java 7:
PCollection<String> words = ...; PCollection<Integer> wordsPerLine = words.apply(MapElements.via( new SimpleFunction<String, Integer>() { public Integer apply(String word) { return word.length(); } }));
-
apply
public PCollection<OutputT> apply(PCollection<InputT> input)
Description copied from class:PTransform
Applies thisPTransform
on the givenInputT
, and returns itsOutput
.Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).
The default implementation throws an exception. A derived class must either implement apply, or else each runner must supply a custom implementation via
PipelineRunner.apply(com.google.cloud.dataflow.sdk.transforms.PTransform<InputT, OutputT>, InputT)
.- Overrides:
apply
in classPTransform<PCollection<InputT>,PCollection<OutputT>>
-
populateDisplayData
public void populateDisplayData(DisplayData.Builder builder)
Description copied from class:PTransform
Register display data for the given transform or component.populateDisplayData(DisplayData.Builder)
is invoked by Pipeline runners to collect display data viaDisplayData.from(HasDisplayData)
. Implementations may callsuper.populateDisplayData(builder)
in order to register display data in the current namespace, but should otherwise usesubcomponent.populateDisplayData(builder)
to use the namespace of the subcomponent.By default, does not register any display data. Implementors may override this method to provide their own display data.
- Specified by:
populateDisplayData
in interfaceHasDisplayData
- Overrides:
populateDisplayData
in classPTransform<PCollection<InputT>,PCollection<OutputT>>
- Parameters:
builder
- The builder to populate with display data.- See Also:
HasDisplayData
-
-