nebula graph版本:3.3.0
nebula studio版本:3.5.0
部署方式:分布式
是否为线上版本:N
我的目的:用分布式跑社区划分,然后在每个社区中找到重要节点,并挖掘隐藏关系。
我感觉有两种方法可以尝试,一种是利用nebula algorithm,另一种用python,只不过需要转换成分布式去跑。
对于第一种方式(利用nebula algorithm):
目前,我正在用直接提交算法包的方式跑louvain社区划分算法:
spark-submit --master "local" --class com.vesoft.nebula.algorithm.Main /opt/offline/nebula/nebula-algorithm-3.0.0.jar -p /opt/offline/nebula/application.conf
我的疑问:当社区划分跑完后,我想挖掘出每个社区中的重要节点,自我感觉类似 点度中心性/中介中心性/接近中心性等。我看algorithm的application.conf配置文件中有这些算法,但是不清楚能不能在executeAlgo后面写多个执行算法?如果我写了louvain,又写了betweenness,那么会先执行louvain算法,再执行betweenness算法吗?就算执行betweenness算法,会不会在整个图中运行该算法,而不是在louvain社区划分结果基础上运行?
第二种方式(利用python):
python的networkx包中倒是有现成的betweenness方法,但是我现在不清楚怎么跑分布式 ,是需要将所有python代码转换成pyspark代码吗?如果转成pyspark的话,下面这些包是否有对应的pyspark包呢?(nebula3的那些包)