【发布时间】:2019-08-23 17:07:03
【问题描述】:
我正在尝试聚合 SparkR 数据框以获取两个汇总变量, 我尝试使用的代码是:
temp1_aggregate<- temp1 %>%
groupBy("Week", "Store", "Brand", "Conversion_Factor", "Manufacturer", "Type") %>%
agg(Value=mean("Value"), Volume=mean("Volume"))
我也尝试过 summarise() 而不是 agg():
temp1_aggregate<- temp1 %>%
groupBy("Week", "Store", "Brand", "Conversion_Factor", "Manufacturer", "Type") %>%
SparkR::summarize(Value=mean("Value", na.rm=TRUE),Volume=mean("Volume", na.rm=TRUE))
其中 Value 和 Volume 是数字(双精度)类型的列。
这两个都会导致相同的错误:
Error in agg(x, ...) : agg can only support Column or character
In addition: Warning message:
In mean.default("Value", na.rm = TRUE) :
argument is not numeric or logical: returning NA
我对此感到非常困惑,因为 Value 和 Volume 都是列并且都是数字(我检查过 - 虽然我不能共享数据,因为它是专有的)。
我认为这些错误是因为语法在某些方面不正确(我试图从 dplyr 转换为 SparkR,因为我需要让它与 spark 数据帧一起使用),但我不知道如何解决。
请任何人提供有关如何使其工作的建议?
【问题讨论】:
标签: r apache-spark sparkr