Ниже мои данные:
val keysWithValuesList = Array("foo=A", "foo=A", "foo=A", "foo=A", "foo=B", bar=C","bar=D", "bar=D")
Теперь мне нужны следующие типы вывода, но без с использованием combineByKey
и aggregateByKey
:
1) Array[(String, Int)] = Array((foo,5), (bar,3))
2) Array((foo,Set(B, A)),
(bar,Set(C, D)))
Ниже моя попытка:
scala> val keysWithValuesList = Array("foo=A", "foo=A", "foo=A", "foo=A", "foo=B", "bar=C",
| "bar=D", "bar=D")
scala> val sample=keysWithValuesList.map(_.split("=")).map(p=>(p(0),(p(1))))
sample: Array[(String, String)] = Array((foo,A), (foo,A), (foo,A), (foo,A), (foo,B), (bar,C), (bar,D), (bar,D))
Теперь, когда я набираю имя переменной, за которым следует вкладка, чтобы увидеть применимые методы для сопоставленного СДР, я вижу следующие опции, из которых ни один не может удовлетворить мое требование:
scala> sample.
apply asInstanceOf clone isInstanceOf length toString update
Так, как я могу добиться этого ??