如何计算图表中每个分区中的顶点数?
在RDD中火花有
.mapPartition,
GraphX中的图形没有类似的 .mapPartitionVertices ,因此您无法计算它们在分区中的元素数量。
我想知道你是否有更好的方法去做顶点,然后手动检查:
graph.vertices.mapPartitions
答案 0 :(得分:1)
VertexRDD
类没有转换方法来操作分区,但是您可以应用map
转换来获取RDD
对象,然后计算每个分区的记录数。地图转换不会改变每个分区的元素和元素数量。
<强> E.g。强>
val countRDD = graph.vertices.map{ case (id, attr) => (id, attr) }
.mapPartitionsWithIndex{case (i,rows) => Iterator((i,rows.size))}
countRDD.collect()