Open Business Intelligence

La red del Business Intelligence

Saludos compañeros, mi problema es el siguiente: tengo un Job creado con PDI, el mismo que se compone de varias transformaciones usadas para cargar tablas de dimensiones y una tabla de hecho, el job al ser ejecutado directamente con el PDI funciona correctamente, al cabo de 7 horas mas o menos las tablas de dimensiones y la tabla de hecho están cargadas en su totalidad. El problema ocurre cuando ejecuto el mismo job desde consola linux usando el siguiente comando:

sh kitchen.sh -file=/opt/pentaho/JOB.kjb -level=detailed

El job comienza a ejecutarse normalmente y al cabo de unas 5 horas mas o menos se detiene y da mensaje de error, estoy seguro que los pasos de las transformaciones tanto para carga de dimensiones como para carga de tabla de hechos estan correctos ya que si se almacenan datos en las tablas, es decir las dimensiones quedan bien cargadas una vez que el job se detiene, pero la tabla de hechos solo muestra al rededor de 500000 registros cuando el valor real es de 2.5 millones de registros, el mensaje de error que muestra el log es el siguiente:

java.lang.OutOfMemeryError: Java Heap Space

Si alguien me puede ayudar comentandome porqué se genera este error y si hay alguna forma de solucionarlo se lo agredecería muho.

Att. Cristian Alvarez

Etiquetas: PDI, Pentaho

Visitas: 621

Respuestas a esta discusión

Buen dia Cristian Alvarez bueno el mensaje de error es un poco claro, dice que se acabo el espacio de memoria de java!!! cuantas transformacion hay en los job corriendo?? sino tienes la posibilidad de pedir mas memoria para evitar esto entonces trata de dividir los registros de forma que haga el recorrido completo por ejemplo corrre primero 5 y luego los otros 5 y asi vas probando, claro mejor seria aumentar la memoria, para evitar hacerlo manual.

De igual forma hay que ser cuidadosos con los step name que se esten usando ya que hay unos que usan mayor memoria cuando existen otros que hacen el mismo trabajo por menor consumo de memoria todo viene de la logica de cada quien.

Trata de dividir los registros de alguna forma con un where o algo asi, si estas trabajando por año o por mes ve probando asi hay varias maneras de fraccionarlo.

Estamos a la orden, avisanos como te va.
Saludos.

Muchas gracias por tu pronta respuesta Carlos, te comento que he aumentado la memoria del kitchen de 512m a 1024m y he puesto a ejecutar de nuevo el job, una vez finalizada la ejecución contaré como me fue. Saludos

RSS

Distintivo

Cargando…

© 2020   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio