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

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

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

数据格式如下:

https://img3.mukewang.com/5b97898d0001803b03680209.jpg

建图代码如下:

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

输出结果如下:

https://img2.mukewang.com/5b97899f000110ba03850248.jpg

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


炎炎设计
浏览 731回答 1
1回答

牧羊人nacy

是edgeRdd中有很多点是vertex中没有的,通过设置VD的defaultvaule再做filter得到没有属性的vertex数量正好为548529
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server