Class Reshuffle<K,V>
- Type Parameters:
K
- The type of key being reshuffled on.V
- The type of value being reshuffled.
- All Implemented Interfaces:
Serializable
,HasDisplayData
A PTransform
that returns a PCollection
equivalent to its input but
operationally provides some of the side effects of a GroupByKey
, in particular
redistribution of elements between workers, checkpointing, and preventing fusion of the
surrounding transforms. Some of these side effects (e.g. checkpointing) are not portable and are
not guaranteed to occur on all runners.
Performs a GroupByKey
so that the data is key-partitioned. Configures the WindowingStrategy
so that no data is dropped, but doesn't affect the need for the user to
specify allowed lateness and accumulation mode before a user-inserted GroupByKey.
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class org.apache.beam.sdk.transforms.PTransform
annotations, displayData, name, resourceHints
-
Method Summary
Modifier and TypeMethodDescriptionPCollection
<KV<K, V>> expand
(PCollection<KV<K, V>> input) Override this method to specify how thisPTransform
should be expanded on the givenInputT
.static <K,
V> Reshuffle <K, V> of()
static <T> Reshuffle.ViaRandomKey
<T> Encapsulates the sequence "pair input with unique key, applyof()
, drop the key" commonly used to break fusion.Methods inherited from class org.apache.beam.sdk.transforms.PTransform
addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, populateDisplayData, setDisplayData, setResourceHints, toString, validate, validate
-
Method Details
-
of
-
viaRandomKey
Encapsulates the sequence "pair input with unique key, applyof()
, drop the key" commonly used to break fusion. -
expand
Description copied from class:PTransform
Override this method to specify how thisPTransform
should be expanded on the givenInputT
.NOTE: This method should not be called directly. Instead apply the
PTransform
should be applied to theInputT
using theapply
method.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).
- Specified by:
expand
in classPTransform<PCollection<KV<K,
V>>, PCollection<KV<K, V>>>
-