我正在从Titan迁移到Datastax。我有一个大约有5000万个节点的图,由Person、Addresses、Phone等组成
我想要计算一个人的节点连接(有多少人有相同的电话,地址等)。
在Titan中,我编写了一个Hadoop作业,遍历所有的person节点,然后我可以编写一个gremlin脚本来查看有多少人在这个特定节点上拥有相同的电话
所以作为一个输入属性,我有:
titan.hadoop.input.format=com.thinkaurelius.titan.hadoop.formats.hbase.TitanHBaseInputFormat
titan.hadoop.input.conf.storage.backend=hbase对于查询过滤器,我只查询person节点
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中编写这类脚本来遍历persons节点。我发现Datastax使用Spark分析来计算节点数,例如,
但是我没有找到更多关于如何使用分析运行自定义脚本的文档
谢谢
发布于 2016-11-27 00:19:35
答案恰好就在你链接的页面上。这看起来可能比你习惯于使用土卫六要简单一点。关键在于步骤8,在该步骤中,您将遍历配置为使用预配置的OLAP/Analytics TraversalSource,其名称为a (for Analytics)。
gremlin> :remote config alias g northwind.a
这基本上是说..。“当我在TraversalSource g上执行遍历时,我希望它在服务器上作为northwind.a的别名。”
一旦你这样做了,所有的g遍历都将使用northwind.a和Spark分析引擎来执行。
https://stackoverflow.com/questions/40803037
复制相似问题