Я работаю с Graphx и пытаюсь добавить элементы к краям.У меня есть CSV-файл с Id1, Id2, вес, тип
Я могу получить идентификаторы и одну функцию - либо вес, либо тип.Есть ли способ сохранить несколько функций для края.Вот фрагмент моего кода:
val edgesWriterWriterCollaborated: RDD[Edge[String]] = sc.textFile(edgeWeightedWriterWriterCollaborated).map {
line =>
val row = line.split(",")
Edge(row(0).toLong, row(1).toLong, row(2))
}
Это дает мне ошибку:
val edgesWriterWriterCollaborated: RDD[Edge[Tuple2]] = sc.textFile(edgeWeightedWriterWriterCollaborated).map {
line =>
val row = line.split(",")
Edge(row(0).toLong, row(1).toLong, (row(2), row(3)))
}
Обновление:
Я исправил свой код так:
case class WriterWriterProperties(weight: String, edgeType: String)
val edgesWriterWriterCollaborated: RDD[Edge[WriterWriterProperties]] = sc.textFile(edgeWeightedWriterWriterCollaborated).map {
line =>
val row = line.split(",")
Edge(row(0).toLong, row(1).toLong, WriterWriterProperties(row(2), row(3)))
}
Однако, когда я пытаюсь напечатать:
graph4.triplets.foreach(println)
Я получаю сообщение об ошибке: Caused by: java.io.NotSerializableException