@@ -158,8 +158,8 @@ object SparkEnv extends Logging {
158
158
159
159
// Create an instance of the class named by the given Java system property, or by
160
160
// defaultClassName if the property is not set, and return it as a T
161
- def instantiateClass [T ](propertyName : String , defaultClassName : String ): T = {
162
- val name = conf.get(propertyName, defaultClassName)
161
+ def instantiateClass [T ](propertyName : String , defaultClassName : String = null ): T = {
162
+ val name = conf.get(propertyName, defaultClassName)
163
163
val cls = Class .forName(name, true , Utils .getContextOrSparkClassLoader)
164
164
// Look for a constructor taking a SparkConf and a boolean isDriver, then one taking just
165
165
// SparkConf, then one taking no arguments
@@ -246,8 +246,13 @@ object SparkEnv extends Logging {
246
246
" ."
247
247
}
248
248
249
- val shuffleManager = instantiateClass[ShuffleManager ](
250
- " spark.shuffle.manager" , " org.apache.spark.shuffle.hash.HashShuffleManager" )
249
+ // Let the user specify short names for shuffle managers
250
+ val shortShuffleMgrNames = Map (
251
+ " HASH" -> " org.apache.spark.shuffle.hash.HashShuffleManager" ,
252
+ " SORT" -> " org.apache.spark.shuffle.sort.SortShuffleManager" )
253
+ val shuffleMgrName = conf.get(" spark.shuffle.manager" , " HASH" )
254
+ val shuffleMgrClass = shortShuffleMgrNames.getOrElse(shuffleMgrName, shuffleMgrName)
255
+ val shuffleManager = instantiateClass[ShuffleManager ](shuffleMgrClass)
251
256
252
257
val shuffleMemoryManager = new ShuffleMemoryManager (conf)
253
258
0 commit comments