1

我在 sparkR 中有一个 DataFrame 'data',其中包含 ID= 1,2,.. 和 amount= 232, 303, 444, 10, ... 我想检查金额的总和是否大于 5000。

sum(data$amount ) > 5000

现在 sparkR 如果它的 TRUE 和 FALSE 否则应该返回 TRUE 但我得到的只是这条消息

Column (SUM(amount)>5000)

我如何检查它是否属实?

4

1 回答 1

1

这可能不是最好的解决方案,但它确实有效。您确实创建了一个包含 1 个项目的列,但我没有找到将结果存储在该项目中的方法,因此我采用了不同的方法:

df   <- data.frame(ID=c(1,2,3,4),amount=c(232, 303, 444, 10))
data <- createDataFrame(sqlContext,df)

data <- withColumn(data, "constant", data$ID * 0)

sumFrame <- agg(groupBy(data, data$constant), sumAmount = sum(data$amount))

localResult <- collect(sumFrame)
localResult$sumAmount > 5000

使用这种方法,我创建了一个 1 行的 DataFrame,但可以收集一个 DataFrame 以获得结果。

于 2015-08-27T05:52:39.117 回答