coordinator[target post-shuffle partition size: [advisoryTargetPostShuffleInputSize]]
ExchangeCoordinator
ExchangeCoordinator is created when EnsureRequirements physical query optimization is requested to add an ExchangeCoordinator for Adaptive Query Execution.
ExchangeCoordinator takes the following to be created:
-
Number of ShuffleExchangeExec unary physical operators
-
Recommended size of the input data of a post-shuffle partition (configured by spark.sql.adaptive.shuffle.targetPostShuffleInputSize property)
-
Optional advisory minimum number of post-shuffle partitions (default:
None) (configured by spark.sql.adaptive.minNumPostShufflePartitions property)
ExchangeCoordinator keeps track of ShuffleExchangeExec unary physical operators that were registered (when ShuffleExchangeExec unary physical operator was requested to prepare itself for execution).
ExchangeCoordinator uses the following text representation (i.e. toString):
postShuffleRDD Method
postShuffleRDD(exchange: ShuffleExchangeExec): ShuffledRowRDD
postShuffleRDD…FIXME
|
Note
|
postShuffleRDD is used exclusively when ShuffleExchangeExec unary physical operator is requested to execute.
|
doEstimationIfNecessary Internal Method
doEstimationIfNecessary(): Unit
doEstimationIfNecessary…FIXME
|
Note
|
doEstimationIfNecessary is used exclusively when ExchangeCoordinator is requested for a post-shuffle RDD (ShuffledRowRDD).
|
estimatePartitionStartIndices Method
estimatePartitionStartIndices(
mapOutputStatistics: Array[MapOutputStatistics]): Array[Int]
estimatePartitionStartIndices…FIXME
|
Note
|
estimatePartitionStartIndices is used exclusively when ExchangeCoordinator is requested for a doEstimationIfNecessary.
|
registerExchange Method
registerExchange(exchange: ShuffleExchangeExec): Unit
registerExchange simply adds the ShuffleExchangeExec unary physical operator to the exchanges internal registry.
|
Note
|
registerExchange is used exclusively when ShuffleExchangeExec unary physical operator is requested to prepare itself for execution.
|