【发布时间】:2015-10-26 11:08:24
【问题描述】:
我在 Spark 的 GraphX 中构建了一个图表。这个图可能有 10 亿个节点和超过 100 亿条边,所以我不想一遍又一遍地构建这个图。
我希望能够构建一次,保存它(我认为最好的是在 HDFS 中),在其上运行一些进程,然后在几天或几周内访问它,添加一些新节点和边缘,并在其上运行更多进程。
如何在 Apache Spark 的 GraphX 中做到这一点?
编辑:我想我已经找到了一个潜在的解决方案,但我希望有人确认这是否是最好的方法。
如果我有一个图表,比如graph,我必须将图表的 vertexRDD 和 edgeRDD 分别存储在一个文本文件中。然后,稍后,我可以访问这些文本文件,如下所示:
graph.vertices.saveAsTextFile(somePath)
graph.edges.saveAsTextFile(somePath)
我现在的一个问题是:我应该使用 saveAsTextFile() 还是 saveAsObjectFile() ?那么我以后应该如何访问这些文件?
【问题讨论】:
-
嗨 @edenmark 能够找到解决方案,我也在寻找存储构造图的方法,然后稍后加载它以进行查询