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.

Cómo usar Apache Nifi para transferir grandes cantidades de datos (GB) sin errores de memoria?

Estoy utilizando Apache NiFi para transferir la base en PostgreSQL a BigQuery, pero algunas tablas son muy grandes (29 GB) y estoy recibiendo un error de memoria de la VM. ¿Puedo saltarme este límite? ¿Necesito realizar una actualización en mi escritorio para soportar esta transición? ¿O hay otra forma de hacerlo?

Error: java.lang.outofmemoryerror: gc overhead limit exceeded

Esquema: imagen de esquema

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que te estás encontrando con un error de memoria al transferir datos de Postgres a BigQuery usando Apache NiFi. Este error indica que el recolector de basura está tomando demasiado tiempo para liberar memoria, lo que causa que la Máquina Virtual de Java (JVM) se quede sin memoria.

    Una solución a este problema es aumentar la asignación de memoria para la Máquina Virtual de Java. Puedes hacer esto estableciendo el tamaño del montículo de la JVM en un valor más alto usando la bandera -Xmx. Esta bandera establece el tamaño máximo del montículo para la JVM, permitiéndole asignar más memoria para tu operación de transferencia de datos. Sin embargo, ten en cuenta que aumentar demasiado el tamaño del montículo puede causar otros problemas como pausas más largas del recolector de basura y un rendimiento general más lento.

    Otra solución alternativa es dividir las tablas grandes en tablas más pequeñas antes de transferirlas a BigQuery. Puedes utilizar una herramienta como Apache Spark para extraer datos de la tabla de origen, dividirlos en fragmentos más pequeños y escribir cada fragmento en una tabla separada en BigQuery.

    Como alternativa, puedes considerar actualizar el hardware de tu máquina de escritorio para admitir la operación de transferencia de datos más grande. Esto puede implicar agregar más RAM, aumentar la capacidad de tu CPU o utilizar una unidad de disco más rápida.

    En resumen, aumentar el tamaño del montículo de la JVM, dividir tablas grandes o actualizar tu hardware son formas de superar los errores de memoria al mover datos de Postgres a BigQuery usando Apache NiFi.

Comments are closed.