graph - GraphX 从 csv 创建边和顶点
问题描述
我有一个包含航班信息的 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
example 的类,然后执行以下操作:
val vertices: RDD[(VertexId,Airport)] = sc.textFile("filtflights.csv").map
但我不确定如何将 VertexId 设置ORIGIN_AIRPORT_ID
为任何给定的行(我假设每个节点最终都将是原点,因此不需要从DEST_AIRPORT_ID
列创建顶点。)
解决方案
推荐阅读
- python - 如何更改 DataFrame 的整个值?
- php - 如何在谷歌云平台启用gzip压缩?
- r - 如何使用 dplyr 管道一次性取消嵌套数据帧的多个列表列
- c# - 如何从返回 RecognizerResult 的 luis.ai RecognizerAsync 方法访问实体分数信息和/或存在
- javascript - 如何使用 Puppeteer 获取指定元素
- reactjs - 试图通过一个道具
或者 - python-2.7 - Python 中的条件“或”运算符未正确验证
- win32-process - CreateProcess Api 创建两个应用程序实例
- android - Android Release APK 在启动时立即崩溃 - React Native(版本 0.58.4)
- c++11 - 哪些 C++ 标准库函数分配内存?