2015-10-23 11 views
8

Welche Formel verwendet Spark, um die Anzahl reduzierter Aufgaben zu berechnen?Anzahl Aufgaben reduzieren Spark

Ich führe ein paar Spark-SQL-Abfragen und die Anzahl der reduzieren Aufgaben ist immer 200. Die Anzahl der Map-Aufgaben für diese Abfragen ist 154. Ich bin auf Spark 1.4.1.

Ist dies im Zusammenhang mit spark.shuffle.sort.bypassMergeThreshold, die standardmäßig auf 200

Antwort

15

Es ist spark.sql.shuffle.partitions, dass Sie nach. Nach dem Spark SQL programming guide:

spark.sql.shuffle.partitions 200  Configures the number of partitions to use when shuffling data for joins or aggregations. 

Eine weitere Option, die spark.default.parallelism ist verwandt ist, die die ‚durch Transformationen Standard Anzahl der Partitionen in RDDs zurück wie verbinden, reduceByKey und parallelisieren, wenn sie nicht vom Benutzer eingestellt‘ bestimmt, aber dies scheint Wird von Spark SQL ignoriert und ist nur relevant, wenn Sie mit einfachen RDDs arbeiten.

1

Ja, @svgd, das ist der korrekte Parameter. Hier ist, wie Sie es in Scala zurücksetzen:

// Set number of shuffle partitions to 3 
sqlContext.setConf("spark.sql.shuffle.partitions", "3") 
// Verify the setting 
sqlContext.getConf("spark.sql.shuffle.partitions") 
Verwandte Themen