ShuffleExchangeLike Physical Operators¶
ShuffleExchangeLike
is an extension of the Exchange abstraction for physical operators.
Contract¶
getShuffleRDD¶
getShuffleRDD(
partitionSpecs: Array[ShufflePartitionSpec]): RDD[_]
RDD
(Spark Core)
Used when:
CustomShuffleReaderExec
physical operator is requested for theshuffleRDD
mapOutputStatisticsFuture¶
mapOutputStatisticsFuture: Future[MapOutputStatistics]
MapOutputStatistics
(Apache Spark)
Used when:
ShuffleQueryStageExec
physical operator is requested to doMaterialize and cancel
Number of Mappers¶
numMappers: Int
Used when:
OptimizeShuffleWithLocalRead
physical optimization is requested for the shuffle partition specification
Number of Partitions¶
numPartitions: Int
Used when:
OptimizeShuffleWithLocalRead
physical optimization is requested for the shuffle partition specification
Runtime Statistics¶
runtimeStatistics: Statistics
Statistics with data size and row count
See:
Used when:
ShuffleQueryStageExec
physical operator is requested for the runtime statistics
ShuffleOrigin¶
shuffleOrigin: ShuffleOrigin
Used when:
AdaptiveSparkPlanExec
physical operator is requested for the finalStageOptimizerRulesCoalesceShufflePartitions
physical optimization is requested to supportCoalesceOptimizeShuffleWithLocalRead
physical optimization is requested to supportLocalReaderShuffleStage
utility is used to destructure aSparkPlan
to aShuffleStageInfo
Implementations¶
Submitting Shuffle Job¶
submitShuffleJob: Future[MapOutputStatistics]
submitShuffleJob
executes a query to materialize the mapOutputStatisticsFuture.
Final Method
submitShuffleJob
is a Scala final method and may not be overridden in subclasses.
Learn more in the Scala Language Specification.
submitShuffleJob
is used when:
ShuffleQueryStageExec
adaptive leaf physical operator is requested for the shuffleFuture