Gremlin Server:从HBase表中提供多个图形



我正在将Gremlin Server与HBase一起使用为后端。我阅读,对于存储多个图表,我们必须使用不同的表,因此我在HBase中存储了多个图表,。

属性存储.hbase.tablename在titan-hbase.properties中指定。(。

实现这一目标的方法是什么?

在使用3.2.4的TinkerPop版本时,您必须在Gremlin Server周围编写包装器,在其中您以诸如:

之类的内容开始。
Settings settings = new Settings()
GremlinServer server = new GremlinServer(settings);
server.start().join();

然后,您将操纵GraphManager,可以从GremlinServer实例中获得:

GraphManager manager = server.getServerGremlinExecutor().getGraphManager() 

GraphManager.getGraphs()返回Map<String,Graph>实例,您可以在其中动态添加/删除所服务的图表。我认为这种方法是实现您想要的目标的黑客/解决方法,但是没有另一种方法。

截至3.2.5(截至本文未发布(和向前,GraphManager是一个接口,您可以实现自己以动态提供图形列表。您的实现可以在Gremlin Server配置文件中引用,从而使其可以动态插入服务器。

他仍然需要一种实例化图形引用的方法。而且,由于用户不想创建/编辑他们的.properties文件,因此您可以做的是基于"共享"属性文件动态创建配置对象,并将HBase Tablename作为该配置对象上的属性附加在一起,并使用实例化图形对象的图形。然后,您可以将图形存储在图GraphManager的地图中,或者您喜欢的任何内容。但是,最后一步是不需要的,但是,在Gremlin脚本执行结束时将图表存储在此处。

最新更新