从Titan迁移到DataStax Enterprise Graph

时间:2016-11-25 10:41:02

标签: datastax titan datastax-enterprise-graph

我正在从Titan迁移到Datastax。我有一个大约有5000万个节点的图表,由人,地址,电话等组成

我想计算一个Person节点连接(有多少人有相同的电话,地址等)。

在Titan中,我编写了一个Hadoop作业,该作业覆盖了人员节点,我可以编写一个gremlin脚本,以查看有多少人为此特定节点拥有相同的电话

所以我作为输入属性:

titan.hadoop.input.format=com.thinkaurelius.titan.hadoop.formats.hbase.TitanHBaseInputFormat
titan.hadoop.input.conf.storage.backend=hbase

对于查询过滤器,我只查询人员节点

titan.hadoop.graph.input.vertex-query-filter=v.query().has('type',Compare.EQUAL,'person')

要运行我使用的脚本

titan.hadoop.output.conf.script-file=scripts/calculate.groovy

这将为每个节点计算该人拥有的共享电话连接数。

object.phone_shared= object.as('x').out('person_phones').in('person_phones').except('x').count()

有没有办法在Datastax中编写这种脚本来遍历人员节点。我看到Datastax使用Spark分析来计算节点,例如,

https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/graphAnalytics/northwindDemoGraphSnapshot.html

但我没有找到关于如何使用分析运行自定义脚本的更多文档

由于

1 个答案:

答案 0 :(得分:1)

答案恰好在您链接的页面上。看起来它可能比你习惯Titan更容易一些。关键是在步骤8中,您将Traversal配置为使用预配置的OLAP / Analytics TraversalSource,其名为a(用于Google Analytics)。

  
      
  1. 将遍历别名转换为Northwind分析OLAP遍历源   一个。别名为一次性分析查询的OLAP遍历源:
  2.         

    gremlin> :remote config alias g northwind.a

这基本上说..  “当我在TraversalSource g上执行Traversal时,我希望它在服务器上与northwind.a别名”。

完成此操作后,g的所有遍历将使用northwind.a执行,从而执行Spark分析引擎。