如何在scala
中实现此目的val a = sc.parallelize(List(("a", "aaa$$bbb"), ("b", ("ccc$$ddd$$eee"))))
val res1 = a.mapValues(_.replaceAll("\\$\\$", "-"))
这里我有Array [(String,String)]
Array[(String, String)] = Array(("a",aaa-bbb), ("b",ccc-ddd-eee))
现在我希望结果如下
1,aaa
1,bbb
2,ccc
2,ddd
2,eee
提前致谢
答案 0 :(得分:2)
您可以使用flatMap
:
res1.flatMap{ case (k, v) => v.split("-").map((k, _)) }.collect
// res7: Array[(String, String)] = Array((a,aaa), (a,bbb), (b,ccc), (b,ddd), (b,eee))