K - the type of the keys in the output PCollectionV - the type of the elements in the input
PCollection and the values in the output
PCollectionpublic class WithKeys<K,V> extends PTransform<PCollection<V>,PCollection<KV<K,V>>>
WithKeys<K, V> takes a PCollection<V>, and either a
constant key of type K or a function from V to
K, and returns a PCollection<KV<K, V>>, where each
of the values in the input PCollection has been paired with
either the constant key or a key computed from the value.
Example of use:
PCollection<String> words = ...;
PCollection<KV<Integer, String>> lengthsToWords =
words.apply(WithKeys.of(new SerializableFunction<String, Integer>() {
public Integer apply(String s) { return s.length(); } }));
Each output element has the same timestamp and is in the same windows
as its corresponding input element, and the output PCollection
has the same
WindowFn
associated with it as the input.
name| Modifier and Type | Method and Description |
|---|---|
PCollection<KV<K,V>> |
apply(PCollection<V> in)
Applies this
PTransform on the given Input, and returns its
Output. |
static <K,V> WithKeys<K,V> |
of(K key)
Returns a
PTransform that takes a PCollection<V>
and returns a PCollection<KV<K, V>>, where each of the
values in the input PCollection has been paired with the
given key. |
static <K,V> WithKeys<K,V> |
of(SerializableFunction<V,K> fn)
Returns a
PTransform that takes a PCollection<V>
and returns a PCollection<KV<K, V>>, where each of the
values in the input PCollection has been paired with a
key computed from the value by invoking the given
SerializableFunction. |
finishSpecifying, getCoderRegistry, getDefaultName, getDefaultOutputCoder, getDefaultOutputCoder, getInput, getKindString, getName, getOutput, getPipeline, setName, setPipeline, toString, withNamepublic static <K,V> WithKeys<K,V> of(SerializableFunction<V,K> fn)
PTransform that takes a PCollection<V>
and returns a PCollection<KV<K, V>>, where each of the
values in the input PCollection has been paired with a
key computed from the value by invoking the given
SerializableFunction.public static <K,V> WithKeys<K,V> of(K key)
PTransform that takes a PCollection<V>
and returns a PCollection<KV<K, V>>, where each of the
values in the input PCollection has been paired with the
given key.public PCollection<KV<K,V>> apply(PCollection<V> in)
PTransformPTransform on the given Input, and returns its
Output.
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<Input, Output>, Input).
apply in class PTransform<PCollection<V>,PCollection<KV<K,V>>>