Я использую Spark со Scala и пытаюсь найти лучший способ сгруппировать Dataset
по ключу и получить среднюю + сумму вместе.
Например,
- У меня есть
Dataset[Player]
, а Player
состоит из: playerId, yearSignup, level, points. - Я хочу сгруппировать этонабор данных по yearSignup и для расчета за каждый год: сумма баллов и средний уровень.
- Итак, с
groupByKey(p=>p.yearSignup)
и reduceGroups(p1,p2)
я могу получить сумму очков: (p1.points ++ p2.points)
с reduceLeft
.
Но как получить средний уровень?Должен ли я сначала подвести итог, а затем снова эту группу и разделить?Или есть другой способ сделать это вместе.