我正在嘗試在 Scala 中做一些事情,
var tupleList = new ListBuffer[(String,List[String])]
val num1 = List("1","2")
val num2= List("3","4")
val num3= List("5","6")
tupleList =(("Joe",num1))
tupleList =(("Ben",num2))
tupleList =(("Joe",num3))
**我想合并兩個名為“Joe”的串列,并創建一個數字串列: 1,2,5,6 。所以我想使用groupByKey,但如何爆炸值?地圖值?在這種情況下如何使用 reduceLeft?
我試過這樣的事情:
val try3 = vre.groupMapReduce(_._1)(_._2)(_ :: _)
謝謝!
uj5u.com熱心網友回復:
原則問題是在使用::而不是:::.
使用不可變集合,您的示例將如下所示:
val input =
("Joe" -> List("1","2")) ::
("Ben" -> List("3","4")) ::
("Joe" -> List("5","6")) ::
Nil
val result = input.groupMapReduce(_._1)(_._2)(_ ::: _)
print(result.mkString("{", ", ", "}"))
// Output:
// {Joe -> List(1, 2, 5, 6), Ben -> List(3, 4)}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394689.html
標籤:斯卡拉
