关于分组后分区数量的困惑

时间:2018-10-13 18:22:24

标签: apache-spark group-by apache-spark-sql shuffle

在使用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

是这样,以便在操作完成后火花消除空的分区,或者我在这里遗漏了一些明显的东西。

0 个答案:

没有答案