Я пытаюсь прочитать очень большой графический файл, который имеет формат:
1
2,3
3,2,1
7,4,3
4,3,4,6
5,6
6,5,7,1,5,3,4,2
Я пытаюсь создать пограничный RDD, но я застреваю в правильном чтении файла и разборе значений вправильный край.Ниже приводится ошибка с консоли:
found : Unit
required: (org.apache.spark.graphx.VertexId, org.apache.spark.graphx.VertexId)
for(i <- 1 to (a.length-1))
^
Я не знаю, как пройти через эту вещь.Раньше у нас было фиксированное количество столбцов, поэтому никогда не было проблем с доступом к данным, но с динамическим размером столбца для каждого из них я застрял в этой части.
По сути, цель этого мини-проекта состоит в том, чтобы найтиподключенные компоненты входного графа.
Любая помощь высоко ценится.Заранее спасибо.
var graphData= sc.textFile(args(0));
val edgesRdd: RDD[(VertexId, VertexId)] =
graphData.map(line => { val a=line.split(",")
for(i <- 1 to (a.length-1))
(Edge(a(0).toLong, a(i).toLong))
})
val graph= Graph.fromEdgeTuples(edgesRdd, 1);
graph.triplets.collect.foreach(println);
Я ожидаю, что СДР будет правильно сформирован для дальнейшей обработки данных.