es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Neo4J Cypher: ¿Es más rápido cargar desde 100k archivos Json o desde 1 archivo con 100k entradas?

Estoy realizando una carga diaria de más de 100 mil archivos JSON en una base de datos de neo4j, lo cual está tomando aproximadamente de 2 a 3 horas cada día.

Me gustaría saber si neo4j funcionaría más rápido si todos los archivos se juntaran en uno grande y luego la base de datos los recorriera en iteración.

Si es así, necesitaré aprender cómo hacer esto en Python, pero me gustaría saberlo antes de embarcarme en el trabajo.

Aquí está el fragmento de código actual que uso para cargar los archivos, el rango puede cambiar cada día según los nombres de archivo generados que se basan en los IDs en los registros JSON.

UNWIND range(215300000,215457000) as id
WITH DISTINCT id+"_20220103.json" as file
CALL apoc.load.json("file:///output/"+file,null, {failOnError:false})
YIELD value

¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no puedo afirmar con certeza si neo4j se ejecutaría más rápido si los archivos se combinaran en un solo archivo grande y luego se iteraran a través de la base de datos. Sin embargo, combinar los archivos en un solo archivo grande podría reducir la sobrecarga de abrir y cerrar múltiples archivos, lo que potencialmente podría acelerar el proceso de carga. Se recomienda probar esta hipótesis con un conjunto de datos de muestra para ver si reduce significativamente el tiempo de carga.

    En cuanto a cargar el archivo consolidado usando Python y Apoc, puede modificar su fragmento de código para cargar un solo archivo en lugar de una gama de archivos. Aquí hay un ejemplo de fragmento de código:

    CALL apoc.load.json('file:///ruta/al/archivo_consolidado.json') YIELD value
    

    Reemplace ‘file:///ruta/al/archivo_consolidado.json’ con la ruta al archivo JSON consolidado. También puede incluir opciones de configuración adicionales como parámetros para controlar el uso de memoria, ajustar la paralelización, etc., según su caso de uso específico.

Comments are closed.