GraphX ​​создает ребра и вершины из CSV - PullRequest
0 голосов
/ 13 октября 2019

У меня есть CSV-файл с информацией о рейсе:

10397,ATL,GA,10135,ABE,PA,692,188
10397,ATL,GA,10135,ABE,PA,692,142
10434,AVP,PA,10135,ABE,PA,50,65
...

Столбцы выглядят следующим образом: ORIGIN_AIRPORT_ID,ORIGIN,ORIGIN_STATE_ABR,DEST_AIRPORT_ID,DEST,DEST_STATE_ABR,DISTANCE,TIME

Я хочу создать ребра и вершины из них. (данные хранятся в filtflights.csv) для края я написал следующее: val flighttime:RDD[Edge[Integer]] = sc.textFile("filtflights.csv").map {line => val row = line.split(",") Edge(row(0).toInt, row(3).toInt, row(7).toInt) } Но я не уверен насчет вершин. Из того, что я собрал, я могу, например, создать класс с именем Airport и сделать следующее:

val vertices: RDD[(VertexId,Airport)] = sc.textFile("filtflights.csv").map

, но я не уверен относительно того, как точно установить VertexId равным ORIGIN_AIRPORT_ID для любого заданногоrow (я придерживаюсь предположения, что каждый узел будет в конечном итоге источником, поэтому не нужно создавать вершины из столбца DEST_AIRPORT_ID.)

...