Я новичок в искре и скале. У меня есть проблема, которую я практикую. В саду есть четыре квадранта: юг, север, восток и запад - каждый квадрант представлен в искровой перегородке. Список представляет количество цветов, собранных из каждого квадранта - для каждого квадранта существует 3 числа, в результате чего всего 12 чисел. Я хочу, чтобы можно было найти среднее значение цветов, собранных в каждом квадранте, а затем найти общее среднее значение квадрантов.
val flowers = sc.parallelize(List(11,12,13,24,25, 26, 35,36,37, 24,15,16),4)
val flowersandpickers = flowers.aggregate((0,0)) (
(acc, value) => (acc._1 + value, acc._2 +1),
(acc1, acc2) => (acc1._1 + acc2._1, acc1._2 + acc2._2)
)
val avg = flowersandpickers._1/ flowersandpickers._2.toDouble
Может кто-нибудь помочь мне понять, как работает этот код? (0,0) - инициализация (сумма, количество) коллекции. (acc, value) -> как это инициализируется? откуда берутся acc._1 и acc._2? откуда берется значение?
Заранее спасибо.