刚开始接触GraphX,拿到了一份类似用户关注的测试数据。用户ID10000条,对应10000个节点。用户关系的数量不明。数据格式如下:建图代码如下:import org.apache.spark.graphx.Edgeimport org.apache.spark.graphx.Graphval 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.countval e_count = edgeRdd.countval gv_count = graph.vertices.countval ge_count = graph.edges.count输出结果如下:发现边的数量在Rdd与Graph中相同,点却明显不一致。请问是什么原因,谢谢各位。
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
是edgeRdd中有很多点是vertex中没有的,通过设置VD的defaultvaule再做filter得到没有属性的vertex数量正好为548529
- 1 回答
- 0 关注
- 755 浏览
添加回答
举报
0/150
提交
取消