Class PointwiseBlockingResultInfo
- java.lang.Object
-
- org.apache.flink.runtime.scheduler.adaptivebatch.PointwiseBlockingResultInfo
-
- All Implemented Interfaces:
IntermediateResultInfo
,BlockingResultInfo
public class PointwiseBlockingResultInfo extends Object
Information of Pointwise result.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
numOfPartitions
protected int
numOfSubpartitions
protected Map<Integer,long[]>
subpartitionBytesByPartitionIndex
The subpartition bytes map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getNumBytesProduced()
Return the num of bytes produced(numBytesProduced) by the producer.long
getNumBytesProduced(IndexRange partitionIndexRange, IndexRange subpartitionIndexRange)
Return the aggregated num of bytes according to the index range for partition and subpartition.int
getNumPartitions()
Get number of partitions for this result.int
getNumSubpartitions(int partitionIndex)
Get number of subpartitions for the given partition.IntermediateDataSetID
getResultId()
Get the intermediate result id.Map<Integer,long[]>
getSubpartitionBytesByPartitionIndex()
Gets subpartition bytes by partition index.boolean
isBroadcast()
Determines whether the associated intermediate data set uses a broadcast distribution pattern.boolean
isPointwise()
Whether it is a pointwise result.boolean
isSingleSubpartitionContainsAllData()
Checks whether there is a single subpartition that contains all the produced data.void
recordPartitionInfo(int partitionIndex, ResultPartitionBytes partitionBytes)
Record the information of the result partition.void
resetPartitionInfo(int partitionIndex)
Reset the information of the result partition.
-
-
-
Method Detail
-
isBroadcast
public boolean isBroadcast()
Description copied from interface:IntermediateResultInfo
Determines whether the associated intermediate data set uses a broadcast distribution pattern.A broadcast distribution pattern indicates that all data produced by this intermediate data set should be broadcast to every downstream consumer.
- Returns:
- true if the intermediate data set is using a broadcast distribution pattern; false otherwise.
-
isSingleSubpartitionContainsAllData
public boolean isSingleSubpartitionContainsAllData()
Description copied from interface:IntermediateResultInfo
Checks whether there is a single subpartition that contains all the produced data.- Returns:
- true if one subpartition that contains all the data; false otherwise.
-
isPointwise
public boolean isPointwise()
Description copied from interface:IntermediateResultInfo
Whether it is a pointwise result.- Returns:
- whether it is a pointwise result
-
getNumPartitions
public int getNumPartitions()
Description copied from interface:IntermediateResultInfo
Get number of partitions for this result.- Returns:
- the number of partitions in this result
-
getNumSubpartitions
public int getNumSubpartitions(int partitionIndex)
Description copied from interface:IntermediateResultInfo
Get number of subpartitions for the given partition.- Parameters:
partitionIndex
- the partition index- Returns:
- the number of subpartitions of the partition
-
getNumBytesProduced
public long getNumBytesProduced()
Description copied from interface:BlockingResultInfo
Return the num of bytes produced(numBytesProduced) by the producer.The difference between numBytesProduced and numBytesOut : numBytesProduced represents the number of bytes actually produced, and numBytesOut represents the number of bytes sent to downstream tasks. In unicast scenarios, these two values should be equal. In broadcast scenarios, numBytesOut should be (N * numBytesProduced), where N refers to the number of subpartitions.
- Returns:
- the num of bytes produced by the producer
-
getResultId
public IntermediateDataSetID getResultId()
Description copied from interface:IntermediateResultInfo
Get the intermediate result id.- Specified by:
getResultId
in interfaceIntermediateResultInfo
- Returns:
- the intermediate result id
-
recordPartitionInfo
public void recordPartitionInfo(int partitionIndex, ResultPartitionBytes partitionBytes)
Description copied from interface:BlockingResultInfo
Record the information of the result partition.- Specified by:
recordPartitionInfo
in interfaceBlockingResultInfo
- Parameters:
partitionIndex
- the intermediate result partition indexpartitionBytes
- theResultPartitionBytes
of the partition
-
resetPartitionInfo
public void resetPartitionInfo(int partitionIndex)
Description copied from interface:BlockingResultInfo
Reset the information of the result partition.- Specified by:
resetPartitionInfo
in interfaceBlockingResultInfo
- Parameters:
partitionIndex
- the intermediate result partition index
-
getSubpartitionBytesByPartitionIndex
public Map<Integer,long[]> getSubpartitionBytesByPartitionIndex()
Description copied from interface:BlockingResultInfo
Gets subpartition bytes by partition index.- Specified by:
getSubpartitionBytesByPartitionIndex
in interfaceBlockingResultInfo
- Returns:
- a map with integer keys representing partition indices and long array values representing subpartition bytes.
-
getNumBytesProduced
public long getNumBytesProduced(IndexRange partitionIndexRange, IndexRange subpartitionIndexRange)
Description copied from interface:BlockingResultInfo
Return the aggregated num of bytes according to the index range for partition and subpartition.- Specified by:
getNumBytesProduced
in interfaceBlockingResultInfo
- Parameters:
partitionIndexRange
- range of the index of the consumed partition.subpartitionIndexRange
- range of the index of the consumed subpartition.- Returns:
- aggregated bytes according to the index ranges.
-
-