У меня есть список кортежей:
val serverList = List(
("AS-4019", 100),
("BR-5722", 2080),
("SQ-9985", 70),
("BR-5722", 82),
("BR-5722", 147),
("AS-4019", 7),
("SQ-9985", 29),
("AS-4019", 64),
("SQ-9985", 93),
("GN-1070", 1408),
("BR-5722", 19),
("GN-1070", 7798))
Строка является идентификатором сервера, число связано с загрузкой сервера, и каждый кортеж представляет проект, обращающийся к серверу.
Мне нужно объединить этот список в:
List(serverNameString, accessCountInt, serverLoadInt)
Результат должен выглядеть примерно так:
List(
("AS-4019", 3, 171),
("BR-5722", 4, 2328),
("SQ-9985", 3, 192),
("GN-1070", 2, 9206))
Я пытался использовать некоторые карты и фильтры, но он кажется слишком сложным и также не работает.
val aggregatedList = for(v <- lisinputt.distinct) {
(v, lisinputt.groupBy(identity).mapValues(_.size)(v))
}