GraphX从csv创建边和顶点

时间:2019-10-13 13:19:40

标签: graph rdd spark-graphx

我有一个包含航班信息的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

我想从这些创建边缘和顶点rdds。 (数据存储在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(我假设每个节点最终都将是原点,因此不需要从{{1 }}列。)

0 个答案:

没有答案