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:
CustomShuffleReaderExecphysical operator is requested for theshuffleRDD
mapOutputStatisticsFuture¶
mapOutputStatisticsFuture: Future[MapOutputStatistics]
MapOutputStatistics (Apache Spark)
Used when:
ShuffleQueryStageExecphysical operator is requested to doMaterialize and cancel
Number of Mappers¶
numMappers: Int
Used when:
OptimizeShuffleWithLocalReadphysical optimization is requested for the shuffle partition specification
Number of Partitions¶
numPartitions: Int
Used when:
OptimizeShuffleWithLocalReadphysical optimization is requested for the shuffle partition specification
Runtime Statistics¶
runtimeStatistics: Statistics
Statistics with data size and row count
See:
Used when:
ShuffleQueryStageExecphysical operator is requested for the runtime statistics
ShuffleOrigin¶
shuffleOrigin: ShuffleOrigin
Used when:
AdaptiveSparkPlanExecphysical operator is requested for the finalStageOptimizerRulesCoalesceShufflePartitionsphysical optimization is requested to supportCoalesceOptimizeShuffleWithLocalReadphysical optimization is requested to supportLocalReaderShuffleStageutility is used to destructure aSparkPlanto 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:
ShuffleQueryStageExecadaptive leaf physical operator is requested for the shuffleFuture