使用Gremlin从DSE图中流式传输所有节点

使用Gremlin从DSE图中流式传输所有节点,gremlin,tinkerpop3,gremlin-server,datastax-enterprise-graph,Gremlin,Tinkerpop3,Gremlin Server,Datastax Enterprise Graph,我正在使用DataStax Enterprise Graph,并希望使用Gremlin将Graph数据库中的所有节点流式传输到我的应用程序 注意:我正在通过WebSocket使用持久变量会话与Gremlin服务器通信 为了在不提取内存中所有节点的情况下执行此操作,我首先在服务器上创建一个迭代器: // called once iter = g.V(); 然后,我逐步将迭代器读入缓冲区并返回缓冲区的内容: // called multiple times, until it returns an

我正在使用DataStax Enterprise Graph,并希望使用Gremlin将Graph数据库中的所有节点流式传输到我的应用程序

注意:我正在通过WebSocket使用持久变量会话与Gremlin服务器通信

为了在不提取内存中所有节点的情况下执行此操作,我首先在服务器上创建一个迭代器:

// called once
iter = g.V();
然后,我逐步将迭代器读入缓冲区并返回缓冲区的内容:

// called multiple times, until it returns an empty array
results = []
while (itemStream.hasNext() && results.size < 5000) {
    results.push(itemStream.next())
}
return results
//多次调用,直到返回空数组为止
结果=[]
while(itemStream.hasNext()&&results.size<5000){
results.push(itemStream.next())
}
返回结果
我以前用TitanDB做这个,它工作正常(每秒读取几千个节点)

使用DSE Graph,速度要慢得多(每秒读取330次),在仅读取了400'000个节点后,我会出现以下错误:

操作超时-仅收到0个响应

在DSE图形中有更好的方法来实现这一点吗