агрегатная функция, чтобы найти средние среди раздела - PullRequest
0 голосов
/ 08 ноября 2019

Я новичок в искре и скале. У меня есть проблема, которую я практикую. В саду есть четыре квадранта: юг, север, восток и запад - каждый квадрант представлен в искровой перегородке. Список представляет количество цветов, собранных из каждого квадранта - для каждого квадранта существует 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? откуда берется значение?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...