Я использую Graphframe LPA для поиска сообществ, но почему-то это не дает мне ожидаемого результата
graph_data = spark.createDataFrame([
("a", "d", "friend"),
("b", "d", "friend"),
("c", "d", "friend")
], ["src", "dst", "relationship"])
здесь мое требование - получить единый идентификатор сообщества для всех вершин a, b, c и d но я получаю два разных идентификатора сообщества: один для a, b, c и один для кода d:
df1 = graph_data.selectExpr('src AS id')
df2 = graph_data.selectExpr('dst AS id')
vertices = df1.union(df2)
vertices = vertices.distinct()
edges = graph_data
g = GraphFrame(vertices, edges)
communities = g.labelPropagation(maxIter=5)