我有按日期分区的数据集,并打算通过user_id读取和分组。
inputdata
.groupBy(col("user_id"))
.count
在我的工作阶段0,平均两次运行,大约需要30分钟。
如果我将代码更改为
inputdata
.repartition(col("user_id"), 30)
.groupBy(col("user_id"))
.count
阶段0的运行时间减少到大约15分钟,再次平均两次运行。
这对我来说似乎完全不合逻辑。我希望,如果有的话,第0阶段的运行时间应该会增加。有没有人有任何见解?
背景资料: