我想将现有的R代码转换为pyspark。我要转换的代码是使用边缘列表中的对创建单向图。
R代码:(图书馆是igraph)
# create an undirected graph using the selected pairs
gg <- graph.edgelist(as.matrix(unique(df[, list(valx, valy)])), directed = FALSE)
#
cl <- split(V(gg)$name, clusters(gg)$membership)
# from the constructed graph, select a list of nodes
dt <- cbind(as.data.table(V(gg)$name), as.data.table(clusters(gg)$membership))
我的输入数据框是df
valx valy
1: 600060 09283744
2: 600131 96733110
3: 600194 01700001
我也尝试在pyspark和networx库中使用Graphframe,但是没有得到想要的结果
我的输出应如下所示(基本上是V1下的所有valx和valy以及V2下的成员信息)
V1 V2
600060 1
96733110 1
01700001 2
任何人都可以指导如何在pyspark中实现上述代码。 (即使输出不超过其正常值,但我也需要等效的代码段或库) 600194 2