Как сгруппировать Iterable [String] в кортеж (ключ, без вхождений) - PullRequest
0 голосов
/ 08 марта 2020

Я новичок в свечах и scala, я пытаюсь

У меня есть СДР в форме (презентация, CompactBuffer (3, 3, 24, 24, 24, 24, 24, 28) , 28, 28)) Я пытаюсь преобразовать в (представление, список ((3,2), (24,5), (28,3))

Я могу преобразовать в форму ( string, Iterable [String]) (представление, список ((3,1), (3,1), (24,1), (24,1), (24,1), (24,1), (24) , 1), (28,1), (28,1), (28,1))).

Как сгруппировать их в (3,2), (24, 3)

''' val RDD4 = RDD3.map {
      case (key, values) =>
        val v = values.map(word => (word, 1))
        (key, v)
    }'''

1 Ответ

0 голосов
/ 09 марта 2020

вы можете получить так:

List((3,1), (3,1), (24,1), (24,1), (24,1), (24,1), (24,1), (28,1), (28,1), (28,1))
    .groupBy{case (key, _) => key}
    .mapValues(
      valuesWithSameKeyList => valuesWithSameKeyList
        .map{ 
          case (_, value) => value
        }.sum
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...