Graph 如何使用Spark处理大型Titan图形

Graph 如何使用Spark处理大型Titan图形,graph,apache-spark,cassandra,graph-databases,titan,Graph,Apache Spark,Cassandra,Graph Databases,Titan,我在TItan 1.0.0中加载了非常大的graph,后端是Cassandra 2.1.13。我必须使用Spark对图形执行一些操作 比如说, 我想使用ApacheSpark在一个非常大的图中查找子图 我想在Titan中存储的图上运行一些聚类(机器学习代码),等等 基本上,我将使用Spark在TitanGraph上应用一些算法(我认为在大图上会更快) 我能够找到任何与此相关的文档,以及如何处理图表。Spark是在大型图上应用算法(机器学习)的正确方法吗?我下一步该怎么做? 如何在Titan上运行

我在TItan 1.0.0中加载了非常大的graph,后端是Cassandra 2.1.13。我必须使用Spark对图形执行一些操作

比如说,

  • 我想使用ApacheSpark在一个非常大的图中查找子图
  • 我想在Titan中存储的图上运行一些聚类(机器学习代码),等等
  • 基本上,我将使用Spark在TitanGraph上应用一些算法(我认为在大图上会更快)

    我能够找到任何与此相关的文档,以及如何处理图表。Spark是在大型图上应用算法(机器学习)的正确方法吗?我下一步该怎么做? 如何在Titan上运行我的Spark代码?(我无法找到插入/使用Spark代码的确切方法或功能

    非常感谢您的帮助。

    您看过吗?这有助于您应用将在Spark framework上执行的Gremlin查询。请看以下示例:

    gremlin> graph = GraphFactory.open('conf/hadoop/hadoop-gryo.properties')
    ==>hadoopgraph[gryoinputformat->gryooutputformat]
    gremlin> g = graph.traversal(computer(SparkGraphComputer))
    ==>graphtraversalsource[hadoopgraph[gryoinputformat->gryooutputformat], sparkgraphcomputer]
    gremlin> :remote connect tinkerpop.hadoop graph g
    ==>useTraversalSource=graphtraversalsource[hadoopgraph[gryoinputformat->gryooutputformat], sparkgraphcomputer]
    ==>useSugar=false
    gremlin> :> g.V().group().by{it.value('name')[1]}.by('name')
    ==>[a:[marko, vadas], e:[peter], i:[ripple], o:[josh, lop]]
    
    另一种方法是使用。这对使用Spark/Hadoop在图形上应用OLAP和OLTP有很大帮助

    gremlin> result = graph.compute().program(PageRankVertexProgram.build().create()).submit().get()
    ==>result[tinkergraph[vertices:6 edges:0],memory[size:0]]
    gremlin> result.memory().runtime
    ==>95
    gremlin> g = result.graph().traversal(standard())
    ==>graphtraversalsource[tinkergraph[vertices:6 edges:0], standard]
    gremlin> g.V().valueMap('name',PageRankVertexProgram.PAGE_RANK)
    ==>[gremlin.pageRankVertexProgram.pageRank:[0.15000000000000002], name:[marko]]
    ==>[gremlin.pageRankVertexProgram.pageRank:[0.19250000000000003], name:[vadas]]
    ==>[gremlin.pageRankVertexProgram.pageRank:[0.4018125], name:[lop]]
    ==>[gremlin.pageRankVertexProgram.pageRank:[0.19250000000000003], name:[josh]]
    ==>[gremlin.pageRankVertexProgram.pageRank:[0.23181250000000003], name:[ripple]]
    ==>[gremlin.pageRankVertexProgram.pageRank:[0.15000000000000002], name:[peter]]
    
    考虑使用spark对Titan的OLAP进行处理——可能会有所帮助