构建子图
GraphFrames提供了通过对边和顶点进行过滤来构建子图的API。这些过滤器可以组合在一起来使用。例如,构建只包含年龄在30岁以上的朋友的子图,代码如下:
// 选择用户年龄超过30岁,并且边的类型是"friend"的子图 val g2 = g .filterEdges("relationship = 'friend'") .filterVertices("age > 30") .dropIsolatedVertices() g2.vertices.show() g2.edges.show()
输出结果如下:
+---+------+---+--------+----------+ | id| name|age| cash| fruit| +---+------+---+--------+----------+ | a| Alice| 34| 234| Apples| | b| Bob| 36| 23232323| Bananas| | e|Esther| 32| 1|Watermelon| +---+------+---+--------+----------+ +---+---+------------+ |src|dst|relationship| +---+---+------------+ | a| b| friend| | a| e| friend| +---+---+------------+
这个例子中,分别使用filterVertices()方法和filterEdges()方法过滤顶点和边用来创建子图。在最后对子图调用dropIsola ......
......
抱歉,只有登录会员才可浏览!会员登录