Class RebalancePartitioner<T>
- java.lang.Object
-
- org.apache.flink.streaming.runtime.partitioner.StreamPartitioner<T>
-
- org.apache.flink.streaming.runtime.partitioner.RebalancePartitioner<T>
-
- Type Parameters:
T
- Type of the elements in the Stream being rebalanced
- All Implemented Interfaces:
Serializable
,ChannelSelector<SerializationDelegate<StreamRecord<T>>>
@Internal public class RebalancePartitioner<T> extends StreamPartitioner<T>
Partitioner that distributes the data equally by cycling through the output channels.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.flink.streaming.runtime.partitioner.StreamPartitioner
numberOfChannels
-
-
Constructor Summary
Constructors Constructor Description RebalancePartitioner()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StreamPartitioner<T>
copy()
SubtaskStateMapper
getDownstreamSubtaskStateMapper()
Defines the behavior of this partitioner, when downstream rescaled during recovery of in-flight data.boolean
isPointwise()
int
selectChannel(SerializationDelegate<StreamRecord<T>> record)
Returns the logical channel index, to which the given record should be written.void
setup(int numberOfChannels)
Initializes the channel selector with the number of output channels.String
toString()
-
Methods inherited from class org.apache.flink.streaming.runtime.partitioner.StreamPartitioner
disableUnalignedCheckpoints, equals, getUpstreamSubtaskStateMapper, hashCode, isBroadcast, isSupportsUnalignedCheckpoint
-
-
-
-
Method Detail
-
setup
public void setup(int numberOfChannels)
Description copied from interface:ChannelSelector
Initializes the channel selector with the number of output channels.- Specified by:
setup
in interfaceChannelSelector<T>
- Overrides:
setup
in classStreamPartitioner<T>
- Parameters:
numberOfChannels
- the total number of output channels which are attached to respective output gate.
-
selectChannel
public int selectChannel(SerializationDelegate<StreamRecord<T>> record)
Description copied from interface:ChannelSelector
Returns the logical channel index, to which the given record should be written. It is illegal to call this method for broadcast channel selectors and this method can remain not implemented in that case (for example by throwingUnsupportedOperationException
).- Parameters:
record
- the record to determine the output channels for.- Returns:
- an integer number which indicates the index of the output channel through which the record shall be forwarded.
-
getDownstreamSubtaskStateMapper
public SubtaskStateMapper getDownstreamSubtaskStateMapper()
Description copied from class:StreamPartitioner
Defines the behavior of this partitioner, when downstream rescaled during recovery of in-flight data.- Specified by:
getDownstreamSubtaskStateMapper
in classStreamPartitioner<T>
-
copy
public StreamPartitioner<T> copy()
- Specified by:
copy
in classStreamPartitioner<T>
-
isPointwise
public boolean isPointwise()
- Specified by:
isPointwise
in classStreamPartitioner<T>
-
-