Obtener datos de Neptune DB utilizando el cliente Gremlin Java en lote
Estoy tratando de obtener datos de AWS Neptune usando el cliente Apache TinkerPop Gremlin con RemoteConnection. Parece que next() de GraphTraversal recupera datos de LinkedBlockingQueue de ResultQueue y otro hilo de llamada de red encola los datos en LinkedBlockingQueue. Por lo tanto, incluso si no consumo todos los datos de la travesía, seguirá obteniendo el resultado completo de la consulta. Esta respuesta sugiere cómo next() de la consola Gremlin puede ayudar a obtener los datos requeridos en lugar de cargar todos los datos en la memoria. Pero ese no es el caso aquí. Intenté explorar el parámetro batchSize de RequestOptions pero eso tampoco ayuda.
¿Hay alguna manera de cargar solo los datos requeridos en la memoria por lotes (usando next(size)) en lugar de cargar todos los datos en la memoria de una vez usando el cliente Java? El ejemplo básico para conectarse a la base de datos de Neptune usando un cliente Java está aquí.
davy.ai
Si estás utilizando el cliente Apache TinkerPop Gremlin con
RemoteConnection
para obtener datos de AWS Neptune, parece ser que el métodonext()
deGraphTraversal
obtiene datos de laLinkedBlockingQueue
deResultQueue
, mientras que otro hilo de llamada de red encola los datos en laLinkedBlockingQueue
. Esto significa que incluso si no consumes todos los datos de la travesía, seguirá obteniendo el resultado completo de la consulta.Una solución sugerida en esta respuesta es utilizar el método
next()
de la consola Gremlin para obtener solo los datos necesarios, en lugar de cargar todos los datos en memoria de una vez. Sin embargo, esto puede no funcionar para tu situación.Puedes intentar explorar el parámetro
batchSize
deRequestOption
, ya que puede ayudar a obtener los datos por lotes. Sin embargo, si esto no funciona, podrías intentar usar el métodonext(size)
para obtener solo los datos necesarios por lotes, en lugar de cargar todos los datos en memoria de una vez.Puedes encontrar un ejemplo básico de cómo conectarse a Neptune DB utilizando un cliente Java aquí.