Итак, здесь происходит несколько вещей.
Ваш default.parallelism установлен в 1. Не уверен, как, но работает несколько ресурсов. Вы можете видеть, что S1 ---> 1 содержит 1 раздел, а S2 ---> 10 - 10 элементов в 1 разделе. Кажется, для суммирования.
Используя блокнот данных, обратите внимание на pls:
val rdd: RDD[Int] = spark.sparkContext.parallelize(0 to 9)
println("S1---> " +rdd.getNumPartitions )
//S1---> 8
sc.defaultParallelism
//res9: Int = 8, confirms S1 answer
val partitionSizes: Array[Int] = rdd.mapPartitions(iter => Iterator(iter.length)).collect()
//partitionSizes: Array[Int] = Array(1, 1, 1, 2, 1, 1, 1, 2); the 8 partitions and their count
// Print of the above simply, per row
partitionSizes.foreach((row: Int) => {
println("S2---> " +row )
})
// Count of items per partition
S2---> 1
S2---> 1
S2---> 1
S2---> 2
S2---> 1
S2---> 1
S2---> 1
S2---> 2
Итак, здесь происходит две вещи -> количество разделов ирассчитывать на раздел. Название не совсем правильное.