Я создал RDD
из Graphx
, который выглядит следующим образом:
val graph = GraphLoader.edgeListFile(spark.sparkContext, fileName)
var s: VertexRDD[VertexId] = graph.connectedComponents().vertices
val nodeGraph: RDD[(String, Iterable[VertexId])] = s.groupBy(_._2) map { case (x, y) =>
val rand = randomUUID().toString
val clusterList: Iterable[VertexId] = y.map(_._1)
(rand, clusterList)
}
nodeGraph
имеет тип RDD[(String, Iterable[VertexId])]
, и данные внутри будут иметь форму:
(abc-def11, Iterable(1,2,3,4)),
(def-aaa, Iterable(10,11)),
...
Что я хочу сейчас сделать, это создать из него фрейм данных, который должен выглядеть следующим образом:
col1 col2
abc-def11 1
abc-def11 2
abc-def11 3
abc-def11 4
def-aaa 10
def-aaa 11
Как это сделать в Spark?