使用 Gremlin Java 客户端批量获取 Neptune DB 数据

Fetch Neptune DB data using Gremlin Java client in batch

我正在尝试通过 RemoteConnection 使用 Apache TinkerPop Gremlin 客户端从 AWS Neptune 获取数据。似乎 GraphTraversalnext()ResultQueueLinkedBlockingQueue 和网络调用的另一个线程获取数据,将数据排入 LinkedBlockingQueue。因此,即使我不使用遍历的完整数据,它也会继续获取查询的完整结果。 答案表明 Gremlin 控制台 next() 如何帮助获取所需数据而不是将完整数据加载到内存中。但这里不是这种情况。我试图探索 RequestOptionbatchSize 参数,但这也无济于事。
有什么方法可以批量只加载内存中需要的数据(使用next(size))而不是使用Java客户端一次加载内存中的所有数据?使用 Java 客户端连接到 Neptune DB 的基本示例是 here.

Apache TinkerPop Gremlin Java 客户端在后台的工作方式是继续尽快从服务器接收数据到本地缓冲区,即使您说 next(1).这样做是因为如果可能的话,需要在服务器端超时触发之前将整个结果发送到客户端。如果您使用的是 Amazon Neptune,刚刚引入了一个新的服务器端结果缓存功能,它允许您进行真正的服务器端缓存和分页。详情见this link