public enum ResultPartitionType extends Enum<ResultPartitionType>
Enum Constant and Description |
---|
BLOCKING
Blocking partitions represent blocking data exchanges, where the data stream is first fully
produced and then consumed.
|
BLOCKING_PERSISTENT
BLOCKING_PERSISTENT partitions are similar to
BLOCKING partitions, but have a
user-specified life cycle. |
PIPELINED
A pipelined streaming data exchange.
|
PIPELINED_APPROXIMATE
Pipelined partitions with a bounded (local) buffer pool to support downstream task to
continue consuming data after reconnection in Approximate Local-Recovery.
|
PIPELINED_BOUNDED
Pipelined partitions with a bounded (local) buffer pool.
|
Modifier and Type | Method and Description |
---|---|
boolean |
hasBackPressure() |
boolean |
isBlocking() |
boolean |
isBounded()
Whether this partition uses a limited number of (network) buffers or not.
|
boolean |
isPersistent() |
boolean |
isPipelined() |
boolean |
isReconnectable() |
static ResultPartitionType |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static ResultPartitionType[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final ResultPartitionType BLOCKING
Blocking partitions can be consumed multiple times and concurrently.
The partition is not automatically released after being consumed (like for example the
PIPELINED
partitions), but only released through the scheduler, when it determines
that the partition is no longer needed.
public static final ResultPartitionType BLOCKING_PERSISTENT
BLOCKING
partitions, but have a
user-specified life cycle.
BLOCKING_PERSISTENT partitions are dropped upon explicit API calls to the JobManager or ResourceManager, rather than by the scheduler.
Otherwise, the partition may only be dropped by safety-nets during failure handling scenarios, like when the TaskManager exits or when the TaskManager looses connection to JobManager / ResourceManager for too long.
public static final ResultPartitionType PIPELINED
Pipelined results can be consumed only once by a single consumer and are automatically disposed when the stream has been consumed.
This result partition type may keep an arbitrary amount of data in-flight, in contrast to
the PIPELINED_BOUNDED
variant.
public static final ResultPartitionType PIPELINED_BOUNDED
For streaming jobs, a fixed limit on the buffer pool size should help avoid that too much data is being buffered and checkpoint barriers are delayed. In contrast to limiting the overall network buffer pool size, this, however, still allows to be flexible with regards to the total number of partitions by selecting an appropriately big network buffer pool size.
For batch jobs, it will be best to keep this unlimited (PIPELINED
) since there
are no checkpoint barriers.
public static final ResultPartitionType PIPELINED_APPROXIMATE
Pipelined results can be consumed only once by a single consumer at one time. PIPELINED_APPROXIMATE
is different from PIPELINED
and PIPELINED_BOUNDED
in that PIPELINED_APPROXIMATE
partition can be reconnected after down stream task
fails.
public static ResultPartitionType[] values()
for (ResultPartitionType c : ResultPartitionType.values()) System.out.println(c);
public static ResultPartitionType valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic boolean hasBackPressure()
public boolean isBlocking()
public boolean isPipelined()
public boolean isReconnectable()
public boolean isBounded()
public boolean isPersistent()
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.