首页 新闻 搜索 专区 学院

GraphX构建图的时候,顶点数增多了是为什么,求教!

0
悬赏园豆:40 [已解决问题] 解决于 2018-08-20 19:24

刚开始接触GraphX,拿到了一份类似用户关注的测试数据。

用户ID10000条,对应10000个节点。用户关系的数量不明。

数据格式如下:

建图代码如下:

import org.apache.spark.graphx.Edge
import org.apache.spark.graphx.Graph

val vertexRdd = sc.textFile("hdfs://ubt1:9820/WBNW/Vertex")
val edgeRdd = sc.textFile("hdfs://ubt1:9820/WBNW/Edge")

val users = vertexRdd.map(line => line.split(",")).map(parts => (parts(0).toLong, parts(1)))
val follow_relation = edgeRdd.map(line => line.split(",")).map(parts => new Edge(parts(0).toLong,parts(1).toLong,parts(2).toLong))

val graph = Graph(users, follow_relation)

val v_count = vertexRdd.count
val e_count = edgeRdd.count

val gv_count = graph.vertices.count
val ge_count = graph.edges.count

输出结果如下:

发现边的数量在Rdd与Graph中相同,点却明显不一致。请问是什么原因,谢谢各位。

Moral的主页 Moral | 菜鸟二级 | 园豆:236
提问于:2018-08-16 11:13
< >
分享
最佳答案
0

恩,原来是edgeRdd中有很多点是vertex中没有的,通过设置VD的defaultvaule再做filter得到没有属性的vertex数量正好为548529。疑惑解开了。

Moral | 菜鸟二级 |园豆:236 | 2018-08-20 19:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册