Spark Graphx 将层次数据从叶子扁平化到根

问题描述

我正在探索 Spark Graphx 以将层次结构树从叶子展平到根。我的数据集以表格格式存储,包含子列和父列。像这样不相交的树有很多。

enter image description here

预期结果

2,7,8
5,8
3,4,8

我已经浏览了 GraphX wiki,但仍然无法弄清楚该方法。任何解决此问题的建议或伪方法将不胜感激。

示例代码-

import org.apache.spark.graphx.{Edge,Graph,VertexId}
import org.apache.spark.rdd.RDD
object MSTGraphLauncher extends SparkSessionWrapper{
  import spark.implicits._
  def main(args: Array[String]) = {
    val users: RDD[(VertexId,(String))] =
      spark.sparkContext.parallelize(Seq((1L,("rxin")),(2L,(3L,(4L,(5L,("jgonzal")),(6L,("franklin")),(7L,("istoica")),(8L,("istoica"))))
    val relationships: RDD[Edge[String]] =
      spark.sparkContext.parallelize(Seq(Edge(2L,7L,"advisor"),Edge(5L,Edge(7L,8L,Edge(3L,4L,"colleague"),Edge(4L,"collab"),Edge(1L,6L,"colleague")))


    val graph = Graph(users,relationships)


  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)