0
我試圖構建某物。像GraphX的Pregel實現,但我不想使用mapReduceTriplets
函數。相反,我嘗試使用graph.vertices.flatMap
,因爲我不需要三元組,頂點就足夠了。Apache Spark/GraphX限制映射階段
我的代碼框架看起來(或多或少)像
while(){
// Create messages for other nodes and run program logic,
// should only run on nodes that have received a message on round before
messages = graph.vertices.flatMap()
// Join back nodes into graph
newVerts= graph.innerJoin(messages)
g : Graph = graph.outerJoinVertices(newVerts)
}
我的問題是,在迭代i
我想做的事情只在收到上一輪i-1
一條消息,節點flatMap操作。通過使用mapReduceTriplets,可以通過使用只有該節點處於活動狀態的activeSet來完成,但對於僅使用節點的VertexRDD,我找不到這樣的操作。
有人想法如何有效地解決這個問題?
在此先感謝!