我验证了下,这个跑得快!我还想问下:
GO 2 STEPS FROM "player100" OVER follow YIELD id($^) AS src, id($$) AS dst
GO 2 STEPS FROM "player100" OVER * YIELD id($^) AS src, type(edge) as edge_type,id($$) AS dst
明白了 谢谢!
你都spark上 louvain上算出来了,把二度的部分一起算了就行了。何必来回倒腾一遍呢。。。
您好 您可以再具体点解释下嘛?好像我的流程确实有点麻烦。 我的业务逻辑是这样的:在图上先做社区划分,然后针对指定的社区,统计社区内每个节点的二度出边数。 您如果有更好思路和方法,麻烦点拨一下
如何统计图中每一个节点的二度出度值呢? - #4,来自 nicole 就是这个
nebula算法包中如何将数据读出来构造成graphx的graph呢?我只会用pyspark读取指定关系子图,然后转换为networkx图,调用其中的点度中心性算法,但是二度不会求。。
这个是用pyspark代码实现嘛?
emmm…目前只会统计一度的 。我之前将子图转化为networkx图后,调用nx.degree_centrality(g)求出每个点的点度中心性,也就是1度关系数。我们有个业务场景,需要在社区内统计每个节点的2度的出边关系数,并且要求2度出边关系数 > 1度出边关系数。。。所以就到处尝试怎么统计2度关系数。
我一直感觉麻烦点在于求社区内的节点关系数,所以不能直接用算法包中的degreestatics算法(算法包好像针对关系子图的)。然后我感觉,就需要用pysaprk拿出关系子图,再取出社区子图,再转化为Networkx图,但是我还是不会求2度出边统计。。
这个会,先转换为Graphframe,然后再转化为networkx图,去调用nx.degree_centrality(g)或者nx.out_degree_centrality(g)。好像有点麻烦。。。我之前是这么做的。在pyspark环境下,都转化为networkx去做,但也都只统计了一度的出边关系数 2度的不知道怎么统计。。
2度一般没有直接的命令,都要有少量编程的。 spark上可能并发度能好一点,这样快一点
OK 谢谢您
我先用这个实现 感觉还挺快的
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。