假设我有一个边属性为双值的图形,我想找到图形的最大边权重。如果我这样做:
val max = sc.accumulator(0.0) //max holds the maximum edge weight
g.edges.distinct.collect.foreach{ e => if (e.attr > max.value) max.value
= e.attr }
我想问一下master上做了多少工作,executor上做了多少,因为我知道collect()方法把整个RDD带到了master上?是否会发生并行性?有没有更好的方法来找到最大边缘权重?
笔记:
g.edges.distinct.foreach{ e => if (e.attr > max.value) max.value =
e.attr } // does not work without the collect() method.
//I use an accumulator because I want to use the max edge weight later
如果我想对两个图之间具有相同 srcId 和 dstId 的边的属性应用一些平均函数,那么最好的方法是什么?