@PublicEvolving public enum BatchShuffleMode extends Enum<BatchShuffleMode> implements DescribedEnum
ExecutionOptions.RUNTIME_MODEif the shuffling behavior has not been set explicitly for an individual exchange.
With pipelined exchanges, upstream and downstream tasks run simultaneously. In order to achieve lower latency, a result record is immediately sent to and processed by the downstream task. Thus, the receiver back-pressures the sender. The streaming mode always uses this exchange.
With blocking exchanges, upstream and downstream tasks run in stages. Records are persisted to some storage between stages. Downstream tasks then fetch these records after the upstream tasks finished. Such an exchange reduces the resources required to execute the job as it does not need to run upstream and downstream tasks simultaneously.
|Enum Constant and Description|
Upstream and downstream tasks run subsequently.
Upstream and downstream tasks run simultaneously.
|Modifier and Type||Method and Description|
Returns the description for the enum constant.
Returns the enum constant of this type with the specified name.
Returns an array containing the constants of this enum type, in the order they are declared.
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
public static final BatchShuffleMode ALL_EXCHANGES_PIPELINED
This leads to lower latency and more evenly distributed (but higher) resource usage across tasks.
public static final BatchShuffleMode ALL_EXCHANGES_BLOCKING
This reduces the resource usage as downstream tasks are started after upstream tasks finished.
public static BatchShuffleMode values()
for (BatchShuffleMode c : BatchShuffleMode.values()) System.out.println(c);
public static BatchShuffleMode valueOf(String name)
name- the name of the enum constant to be returned.
IllegalArgumentException- if this enum type has no constant with the specified name
NullPointerException- if the argument is null
public InlineElement getDescription()
If you want to include links or code blocks, use
TextElement.wrap(InlineElement...) to wrap multiple inline elements into a single one.
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.