Как получить значение суммы, не делая его локальным

В SparkR у меня есть DataFrame u, который содержит

'amount' = 231,2,324,1213 ... 

Для вычисления суммы в sparkR я использую

summa <- agg(u, amount="sum")

Теперь summa — это DataFrame. Я хочу узнать значение summa, и я могу получить это значение, набрав head(summa) или collect(summa), но это занимает около 2 минут. Как я могу получить значение быстрее? Или как я могу использовать summa как целое число.


person Ole Petersen    schedule 27.08.2015    source источник


Ответы (1)


Я думаю, что причина того, что head(summa) работает медленно, не из-за функции head, а из-за ленивых вычислений. То есть мы не вычисляем summa (и поэтому используем agg), пока не вызываем функцию head. Когда вы вызываете head, вы также получаете накладные расходы на вызов agg.

person csgillespie    schedule 27.08.2015