2016-02-10 2 views
1

Я проверяю возможность экспорта графика Spark GraphX ​​в базу данных диаграмм Titan.мы можем экспортировать данные графика Spark GraphX ​​в базу данных Titan Graph?

***Used below code to construct graph in Spark GraphX and writing graph to a json file :***      


    val conf = new SparkConf() 
    val sc = new SparkContext(conf.setAppName("========= GraphXTest =======")) 

    // Create an RDD for the vertices 
    val users: RDD[(VertexId, (String, String))] = sc.parallelize(Array(
                (3L, ("rxin", "student")), 
                (7L, ("jgonzal", "postdoc")), 
                (5L, ("franklin", "prof")) 
                )) 
     // Create an RDD for edges             
    val relationships: RDD[Edge[String]] = sc.parallelize(Array(
               Edge(3L, 7L, "collab"), 
               Edge(5L, 3L, "advisor") 
               )) 
    // Build the initial Graph           
    val graph = Graph(users, relationships) 
    graph.vertices.saveAsTextFile("D://Spark-GraphX-vertices.json") 

Во время работы над кодом, он создает папку с именем, которое я упоминал D: //Spark-GraphX-vertices.json и несколько других файлов внутри этого. Но эти файлы не содержат никаких данных.

Как экспортировать этот график из Spark GraphX ​​в базу данных Titan?

ответ

4

Вам нужно получить данные в формате списка смежности для Titan, чтобы иметь возможность прочитать его. Лучше всего будет экспортировать в текстовый файл и использовать ScriptInputFormat для его чтения. Например:

1:2,4,5,6 
2:4,1,5 
3:7,8,9,2 

Этот формат говорит, что вершина 1 соединена с 2, 4, 5 и 6. Если набор данных малы (< 100000000 ребер), то только для цикла через файл и используйте OLTP API для записи данных (и вам это действительно не нужно в формате списка смежности, хотя это будет хорошо, поскольку хотя бы одна из ваших вершин будет в кеше). Если ваш набор данных большой (миллиарды краев), вам нужно будет использовать BulkLoaderVertexProgram и загружать его в Titan. Вот некоторые ссылки для изучения:

http://tinkerpop.apache.org/docs/3.1.0-incubating/#bulkloadervertexprogram

http://tinkerpop.apache.org/docs/3.1.0-incubating/#sparkgraphcomputer (интересно, вы будете использовать искру навалом загрузить график)

http://tinkerpop.apache.org/docs/3.1.0-incubating/#script-io-format

+0

спасибо Марко А. Родригес. Я проверю это –

Смежные вопросы