K - The type of key being reshuffled on.V - The type of value being reshuffled.@Internal public class Reshuffle<K,V> extends PTransform<PCollection<KV<K,V>>,PCollection<KV<K,V>>>
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.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | Reshuffle.AssignShardFn<T> | 
| static class  | Reshuffle.ViaRandomKey<T>Implementation of  viaRandomKey(). | 
annotations, displayData, name, resourceHints| Modifier and Type | Method and Description | 
|---|---|
| PCollection<KV<K,V>> | expand(PCollection<KV<K,V>> input)Override this method to specify how this  PTransformshould be expanded on the givenInputT. | 
| static <K,V> Reshuffle<K,V> | of() | 
| static <T> Reshuffle.ViaRandomKey<T> | viaRandomKey()Encapsulates the sequence "pair input with unique key, apply  of(), drop the
 key" commonly used to break fusion. | 
addAnnotation, compose, compose, getAdditionalInputs, getAnnotations, getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, getResourceHints, populateDisplayData, setDisplayData, setResourceHints, toString, validate, validatepublic static <K,V> Reshuffle<K,V> of()
public static <T> Reshuffle.ViaRandomKey<T> viaRandomKey()
of(), drop the
 key" commonly used to break fusion.public PCollection<KV<K,V>> expand(PCollection<KV<K,V>> input)
PTransformPTransform should be expanded on the given
 InputT.
 NOTE: This method should not be called directly. Instead apply the PTransform should
 be applied to the InputT using the apply 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).
expand in class PTransform<PCollection<KV<K,V>>,PCollection<KV<K,V>>>