问题描述
我不熟悉graphframe,在这里我试图使用bfs查找Employee层次结构。 src和dst分别是empid和managerid。
`from graphframes import GraphFrame
vertices = spark.createDataFrame([('1','Carter','Derrick',50),('2','May',26),('3','Mills','Jeff',80),('4','Hood','Robert',65),('5','Banks','Mike',93),('98','Berg','Tim',28),('99','Page','Allan',16)],['id','name','firstname','age'])
edges = spark.createDataFrame([('2','1'),'2'),('6','3'),('7',('8','5'),('9','7')],['src','dst'])
g1 = GraphFrame(vertices,edges)
result5 = g1.bfs(fromExpr = "id == '5'",toExpr = "id == '1'",maxPathLength = 10)
result5.show()`
**** Out put****
+--------------------+------+--------------------+------+--------------------+
| from| e0| v1| e1| to|
+--------------------+------+--------------------+------+--------------------+
|[5,Banks,Mike,93]|[5,2]|[2,May,Derrick,...|[2,1]|[1,Carter,Derri...|
+--------------------+------+--------------------+------+--------------------+
截至目前,我正在fromExpr =“ id =='5'”中传递单个id,该方法如何从edge src列中循环整个id列表,并将所有输出路径保存在结果数据帧中。请让我知道您的输入。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)