Class BlockingInputInfo
- java.lang.Object
-
- org.apache.flink.runtime.scheduler.adaptivebatch.BlockingInputInfo
-
- All Implemented Interfaces:
IntermediateResultInfo,BlockingResultInfo
public class BlockingInputInfo extends Object implements BlockingResultInfo
Helper class that provides read-only information of input forVertexParallelismAndInputInfosDecider.
-
-
Constructor Summary
Constructors Constructor Description BlockingInputInfo(BlockingResultInfo blockingResultInfo, int inputTypeNumber, boolean interInputsKeysCorrelated, boolean intraInputKeyCorrelated)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanareInterInputsKeysCorrelated()List<Long>getAggregatedSubpartitionBytes()intgetInputTypeNumber()longgetNumBytesProduced()Return the num of bytes produced(numBytesProduced) by the producer.longgetNumBytesProduced(IndexRange partitionIndexRange, IndexRange subpartitionIndexRange)Return the aggregated num of bytes according to the index range for partition and subpartition.intgetNumPartitions()Get number of partitions for this result.intgetNumSubpartitions(int partitionIndex)Get number of subpartitions for the given partition.IntermediateDataSetIDgetResultId()Get the intermediate result id.Map<Integer,long[]>getSubpartitionBytesByPartitionIndex()Gets subpartition bytes by partition index.booleanisBroadcast()Determines whether the associated intermediate data set uses a broadcast distribution pattern.booleanisIntraInputKeyCorrelated()booleanisPointwise()Whether it is a pointwise result.booleanisSingleSubpartitionContainsAllData()Checks whether there is a single subpartition that contains all the produced data.voidrecordPartitionInfo(int partitionIndex, ResultPartitionBytes partitionBytes)Record the information of the result partition.voidresetPartitionInfo(int partitionIndex)Reset the information of the result partition.
-
-
-
Constructor Detail
-
BlockingInputInfo
public BlockingInputInfo(BlockingResultInfo blockingResultInfo, int inputTypeNumber, boolean interInputsKeysCorrelated, boolean intraInputKeyCorrelated)
-
-
Method Detail
-
getInputTypeNumber
public int getInputTypeNumber()
-
isIntraInputKeyCorrelated
public boolean isIntraInputKeyCorrelated()
-
areInterInputsKeysCorrelated
public boolean areInterInputsKeysCorrelated()
-
isBroadcast
public boolean isBroadcast()
Description copied from interface:IntermediateResultInfoDetermines 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.
- Specified by:
isBroadcastin interfaceIntermediateResultInfo- Returns:
- true if the intermediate data set is using a broadcast distribution pattern; false otherwise.
-
isPointwise
public boolean isPointwise()
Description copied from interface:IntermediateResultInfoWhether it is a pointwise result.- Specified by:
isPointwisein interfaceIntermediateResultInfo- Returns:
- whether it is a pointwise result
-
getNumPartitions
public int getNumPartitions()
Description copied from interface:IntermediateResultInfoGet number of partitions for this result.- Specified by:
getNumPartitionsin interfaceIntermediateResultInfo- Returns:
- the number of partitions in this result
-
getNumSubpartitions
public int getNumSubpartitions(int partitionIndex)
Description copied from interface:IntermediateResultInfoGet number of subpartitions for the given partition.- Specified by:
getNumSubpartitionsin interfaceIntermediateResultInfo- Parameters:
partitionIndex- the partition index- Returns:
- the number of subpartitions of the partition
-
getNumBytesProduced
public long getNumBytesProduced()
Description copied from interface:BlockingResultInfoReturn 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.
- Specified by:
getNumBytesProducedin interfaceBlockingResultInfo- Returns:
- the num of bytes produced by the producer
-
getNumBytesProduced
public long getNumBytesProduced(IndexRange partitionIndexRange, IndexRange subpartitionIndexRange)
Description copied from interface:BlockingResultInfoReturn the aggregated num of bytes according to the index range for partition and subpartition.- Specified by:
getNumBytesProducedin 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.
-
getResultId
public IntermediateDataSetID getResultId()
Description copied from interface:IntermediateResultInfoGet the intermediate result id.- Specified by:
getResultIdin interfaceIntermediateResultInfo- Returns:
- the intermediate result id
-
isSingleSubpartitionContainsAllData
public boolean isSingleSubpartitionContainsAllData()
Description copied from interface:IntermediateResultInfoChecks whether there is a single subpartition that contains all the produced data.- Specified by:
isSingleSubpartitionContainsAllDatain interfaceIntermediateResultInfo- Returns:
- true if one subpartition that contains all the data; false otherwise.
-
getSubpartitionBytesByPartitionIndex
public Map<Integer,long[]> getSubpartitionBytesByPartitionIndex()
Description copied from interface:BlockingResultInfoGets subpartition bytes by partition index.- Specified by:
getSubpartitionBytesByPartitionIndexin interfaceBlockingResultInfo- Returns:
- a map with integer keys representing partition indices and long array values representing subpartition bytes.
-
recordPartitionInfo
public void recordPartitionInfo(int partitionIndex, ResultPartitionBytes partitionBytes)Description copied from interface:BlockingResultInfoRecord the information of the result partition.- Specified by:
recordPartitionInfoin interfaceBlockingResultInfo- Parameters:
partitionIndex- the intermediate result partition indexpartitionBytes- theResultPartitionBytesof the partition
-
resetPartitionInfo
public void resetPartitionInfo(int partitionIndex)
Description copied from interface:BlockingResultInfoReset the information of the result partition.- Specified by:
resetPartitionInfoin interfaceBlockingResultInfo- Parameters:
partitionIndex- the intermediate result partition index
-
-