解组 SparkR 数据框

Ungroup SparkR data frame

我有一个 spark 数据框:

library(SparkR); library(magrittr)

as.DataFrame(mtcars) %>%
   groupBy("am")

如何取消对这个数据框的分组? SparkR库里好像没有解组函数!

There doesn't seems to be any ungroup function in the SparkR library

那是因为groupBydplyr中的group_by意义不同。

SparkR::group_by / SparkR::groupBy returns 不是 SparkDataFrame 而是 GroupData 对象,对应于 [=41= 中的 GROUP BY 子句].要将其转换回 SparkDataFrame,您应该调用 SparkR::agg(或者如果您更喜欢 dplyr 命名法 SparkR::summarize),它对应于 [=23] 的 SELECT 组件=] 查询.

聚合后返回 SparkDataFrame 分组不再存在。

此外 SparkR::groupBy 没有 dplyr group_by(...) %>% mutate(...) 等价物。相反,我们使用 和框架定义。

所以要带走的信息是 - 如果您不打算聚合,请不要使用 groupBy