传递一个函数foreach键的数组

时间:2015-06-15 11:24:46

标签: scala apache-spark scala-collections spark-graphx

我有一个这样的数组:

val pairs: Array[(Int, ((VertexId, Seq[Int]), Int))] 

生成此输出:

(11,((11,ArraySeq(2, 5, 4, 5)),1))
(11,((12,ArraySeq(7, 7, 8, 2)),1))
(11,((13,ArraySeq(5, 9, 8, 7)),1))
(1,((1,ArraySeq(1, 2, 3, 4)),1))
(1,((4,ArraySeq(1, 5, 1, 1)),1))

我想为每个pairs._1构建一个图表。这意味着例如具有相同id(pairs._1)的那些将一起构造图。 我正在考虑将Graph Construction的功能传递给每个id。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您正在寻找groupBy函数,然后mapValues来处理每个群组。

pairs groupBy {_._1} mapValues { groupOfPairs => doSomething(groupOfPairs) }