Я построил график в GraphX Spark. Этот график будет иметь потенциально 1 миллиард узлов и более 10 миллиардов краев, поэтому я не хочу, чтобы строить этот график снова и снова.Хранение графика в Spark Graphx с HDFS
Я хочу иметь возможность создать его один раз, сохранить его (я думаю, что лучше всего в HDFS), запустить некоторые процессы на нем, а затем получить доступ к нему через пару дней или недель, добавить новые узлы и ребрами и запустить на нем еще несколько процессов.
Как это сделать в Graphix Apache Spark?
EDIT: Я думаю, что нашел потенциальное решение, но мне бы хотелось, чтобы кто-то подтвердил, что это лучший способ.
Если у меня есть график, скажем graph
, я должен хранить график его vertexRDD и его edgeRDD отдельно в текстовом файле. Затем, в конце времени, я могу получить доступ к этим текстовые файлы, например, так:
graph.vertices.saveAsTextFile(somePath)
graph.edges.saveAsTextFile(somePath)
Один вопрос у меня сейчас: я должен использовать saveAsTextFile() или saveAsObjectFile()? И тогда как мне получить доступ к этому файлу позднее?
довольно новый для графика и искры, но для меня это был sc.get.objectFile вместо sc.objectFile [T]. Кроме того, это должно быть отмечено как правильный ответ – alex9311