在使用spark sql进行groupby转换后,spark如何对数据进行分区。它等于spark.sql.shuffle.partitions
还是可以由数据创建的组数。下面是示例代码和数据。
var studentDF = createStudentDF() //student: <Id, Name, Department>
studentDF.registerTempTable("students")
x = sqlContext.sql("select depid, count(*) from students group by depid")
x.rdd.count
由于spark.sql.shuffle.partitions
的默认值是200,所以我期望有200个分区,但是在以下数据上运行时只有3个部门。
ID NAME DEPID
1 ABC 1
2 DEF 1
3 GHI 2
4 JKL 2
5 MNO 3
是这样,以便在操作完成后火花消除空的分区,或者我在这里遗漏了一些明显的东西。