我有一个火花数据框:
library(SparkR); library(magrittr)
as.DataFrame(mtcars) %>%
groupBy("am")
如何对这个数据框进行分组?在SparkR库中似乎没有任何取消组合功能!
答案 0 :(得分:2)
SparkR库中似乎没有任何取消组合功能
这是因为groupBy
与group_by
中的dplyr
含义不同。
SparkR::group_by
/ SparkR::groupBy
返回的不是SparkDataFrame
,而是返回与SQL中的GroupData
子句相对应的GROUP BY
对象。要将其转换回SparkDataFrame
,您应该调用{{1}的SparkR::agg
组件所对应的dplyr
(或者如果您更喜欢SparkR::summarize
命名法SELECT
) }}查询。
汇总后,您将返回SQL
,并且分组不再存在。
此外,SparkDataFrame
没有等效的dplyr SparkR::groupBy
。相反,我们将window functions与框架定义一起使用。
因此带走的信息是-如果您不打算进行汇总,请不要使用group_by(...) %>% mutate(...)
。