Open Business Intelligence

La red del Business Intelligence

Bernabeu R. Dario

Pentaho Data Integration

Información

Foro de discusión

Bernabeu R. Dario

[Tutorial 04] Poblar tabla de Hechos - Crear Trabajo 2 contestaciones 

Iniciada por Bernabeu R. Dario. Última respuesta de Bernabeu R. Dario 20 Jul.

Antonio  Rodríguez Lorenzo

Realizar una transformacion desde una aplicacion java 3 contestaciones 

Iniciada por Antonio Rodríguez Lorenzo. Última respuesta de Bernabeu R. Dario 5 Jul.

Elena Martinez

Envio de archivo adjunto en un email 1 contestación 

Iniciada por Elena Martinez. Última respuesta de Bernabeu R. Dario 9 Abr.

Cristobal Alexis Ibarra Gonzalez

Duda con Procedimientos Almacenados 3 contestaciones 

Iniciada por Cristobal Alexis Ibarra Gonzalez. Última respuesta de Cristobal Alexis Ibarra Gonzalez 23 Feb.

Comentarios

Comentar

¡Necesitas ser un miembro de Pentaho Data Integration para añadir comentarios!

Yoleidys Frometa Moreno Comentario por Yoleidys Frometa Moreno el mayo 12, 2010 a las 10:44pm
Hola:

Gracias por ayudarme, el problema que tenia era con el start que señalé algo que no debía ir y no me ejecutaba las transformaciones, aunque tambien me di cuenta que las transformaciones no las tenia dentro del data integration gracias a los manuales que tienen en el foro, que por cierto estan buenos.
Mariano García Mattío Comentario por Mariano García Mattío el mayo 12, 2010 a las 10:11pm
No se ejecuta "igual" a los trabajos los ejecuta un motor dedicado a trabajos y a las transformaciones uno dedicado a ese tipo de objetos. Para saber el resultado de una ejecución particular, debes fijarte en el log de esa ejecución.

Saludos
Yoleidys Frometa Moreno Comentario por Yoleidys Frometa Moreno el mayo 12, 2010 a las 8:17pm
Hola a todos:
Cree un trabajo en el kettle, al ejecutarlo como se si esta bien? Se ejecuta igual que las transformaciones? Necesito que me ayuden...
Mariano García Mattío Comentario por Mariano García Mattío el mayo 1, 2010 a las 2:31am
Hola Denis,

Bien, veamos, con respecto a la actualización existen, el líneas generales, dos caminos:
1) Crear la estructura necesaria para que solo leas los datos nuevos de tus fuentes, esto podría ser una tabla que almacene la ultima estampa de tiempo en la cual se actualizaron los datos, luego tendrás que concebir tu etl de tal manera que reciba esa fecha como parámetro para leer los datos a partir de allí. Al finalizar la actualización, cuando esta sea correcta, debes actualizar esa estampa de tiempo.
2) Utilizar algunos de los pasos de kettle que te permiten actualizar tablas.
En ambos casos implementar un rollback al final es un tanto complejo, para ello yo he utilizado, o bien una tabla intermedia en la cual hago todos las actualizaciones y cuando está todo ok, con un par de sentencias insert vuelco todo a las tablas del DW, o bien en el DW, en las tablas que actualices, tener una columna auxiliar que contenga una marca que indica que la transacción no ha sido completada, el etl lo primero que debe hacer es eliminar los registros marcados y luego ejecutarse normalmente, si al final todo fue bien el mismo etl debe desmarcar esa columna, de esa manera la primera acción de un etl no implicará ninguna eliminación si la ejecución anterior fue exitosa. El problema que acarea esto último es que los análisis no se enteran que no deben usar las filas marcadas en el caso de un etl fallido, aunque para este último problema hay varias soluciones como ejecutar un proceso post etl que limpie también.
Espero que se comprenda.

Saludos

Mariano
Dennis Alba Infante Comentario por Dennis Alba Infante el abril 30, 2010 a las 8:04pm
Muchas gracias Mariano por tu pronta respuesta, me esta siendo util, hora empezare a documentarme sobre el AT de windows.
me sera muy util si me podrias abordar la pregunta sobre la ultima pregunta
"Necesito saber cómo puedo hacer para evitar que cuando valla a incorporar datos
en una tabla del DW no me sobrescriba toda la tabla, sino que empiece por donde
se quedó la última actualización.
Esto se podría hacer desde el propio job en el Kettle si la Tabla guardara un
Id por el cual se podría buscar la existencia del mismo en ambas tablas OLTP y
la OLAP, pero cuando la tabla del OLAP no guarda un Id , sino cantidades, no
tengo cómo ver cuál fue la última en insertarse, y en el proceso de carga
podrían ocurrir inconvenientes como que se ve afectado el fluido eléctrico o se
cae la conexión.
Podrían explicarme como podría hacer que siempre que se realice el proceso ETL
este empiece por donde se quedo la carga y no me pase por encima otra vez a
toda la tabla?"

Gracias otra vez
Mariano García Mattío Comentario por Mariano García Mattío el abril 30, 2010 a las 5:28pm
Hola Denis, vamos por partes:

Con respecto al almacenamiento de los los Jobs/Tranf en BD o sistema de archivos, es más una cuestión de transportabilidad, esto es, si los manejas en un repositorio de BD, para transportarlos hay que hacer un backup de la BD y tener el SGBDR en el lugar destino, por otra parte cuando los manejas desde el sistema de archivo dispone de una serie de variables internas que apuntan a los directorios de los archivos que se están ejecutando, esto ayuda mucho para trabajar con caminos relativos cuando de procesan archivos y se realizan desplieguen en distintos clientes.
Con respecto a automatizar la ejecución, es tan sencillo como ejecutar alguno de los scripts Kitchen.bat/.sh para jobs y Pan.bat/.sh para Transf. Estos scripts están bien documentados en los pdfs que trae Kettle, igualmente no poseen muchos argumentos. Con solo schedulear la ejecución de estos scripts mediante AT en windows o Cron en linux estarías solucionando el problema. Si quieres utilizar pentaho puedes crear una xaction que ejecute un job, la creación de la xction es muy sencilla, ya que consta de una tarea en la cual hay que decirle donde está el job a ejecutar, si realizas esto último puedes utilizar las capacidades de scheduling de Pentaho.

Saludos

Mariano
Dennis Alba Infante Comentario por Dennis Alba Infante el abril 30, 2010 a las 5:13pm
Saludos a todos.
Me gustaría conocer ahora un poco sobre la programación de los procesos ETLs
para que se ejecuten de manera automática.
Se que el Kettle permite guardar las transformaciones y jobs de dos formas:

* ficheros (Pasos para programar la auto ejecución por esta vía)
* en una BD (Pasos para programar la auto ejecución por esta vía)


Me gustaría saber qué forma es más recomendable para poder programar la ejecución automática de los mismos y cómo se hace (cuales son los pasos para cada una de las opciones).
Me sería muy útil si me pudieran abundar más detalladamente en los siguientes
aspectos:

Necesito saber cómo puedo hacer para evitar que cuando valla a incorporar datos
en una tabla del DW no me sobrescriba toda la tabla, sino que empiece por donde
se quedó la última actualización.
Esto se podría hacer desde el propio job en el Kettle si la Tabla guardara un
Id por el cual se podría buscar la existencia del mismo en ambas tablas OLTP y
la OLAP, pero cuando la tabla del OLAP no guarda un Id , sino cantidades, no
tengo cómo ver cuál fue la última en insertarse, y en el proceso de carga
podrían ocurrir inconvenientes como que se ve afectado el fluido eléctrico o se
cae la conexión.
Podrían explicarme como podría hacer que siempre que se realice el proceso ETL
este empiece por donde se quedo la carga y no me pase por encima otra vez a
toda la tabla?

Gracias de antemano
Bernabeu R. Dario Comentario por Bernabeu R. Dario el octubre 28, 2009 a las 9:06pm
Hola Juan Carlos, si te fijas, en esta página de esta red, se está tratando el tema por el cual consultas.

Saludos.
juan carlos calabria sarmiento Comentario por juan carlos calabria sarmiento el octubre 27, 2009 a las 10:04pm
tengo el siguiente problema
mi base de datos esta en Postgres y estoy conectado a la plataforma de negocios Openi, ya hice los cambios repetivo como el datasource que me hiso posible conectarme a la base de datos.
cuando entro a Openi , me muestra los cubos y los catalogos, el problema cuando hago un nuevo reporte me sale un error en la pestaña (Customize):el error es =( An error occurred while rendering 'xmlaNav': null ) que me es imposible manejar la logica
Bernabeu R. Dario Comentario por Bernabeu R. Dario el octubre 2, 2009 a las 11:33pm
Hola Eglys, en este mismo grupo hay una serie de tutoriales que te ayudaran mucho:
[Tutorial 01] Pasar de DBF a MySQL
[Tutorial 02] Esquema de trabajo y Creación de Trabajo en PDI
[Tutorial 03] Poblar 3 Dimensiones - Id Dinámicos
[Tutorial 04] Poblar tabla de Hechos - Crear Trabajo
[Tutorial 05] Estructura de la Dimesión Tiempo y Procedure de carga para MySQL

Saludos.
 

Miembros (35)

Bernabeu R. Dario fherdi Mariano García Mattío Cristobal Alexis Ibarra Gonzalez juan carlos calabria sarmiento Guillermo Medina ariel perucca Dennis Alba Infante valmanar Antonio  Rodríguez Lorenzo Victor monica diaz Francisco Sotomayor H. Felipe F. Mullicundo Roberto Espinosa Elena Martinez Leandro Baldassin Elizabeth Freddy Moran Juan Enrique Padilla López Walter Gomez Cruz Alex  Rodriguez r. Jorge Mendoza Eglys Rodriguez Reyes Dokect IS Fernando Edgar de los Santos Jose Antonio Pedraza Edison Silva Jose Farfán
 
 
 

Acerca de

Emilio Emilio creó esta red social en Ning.

© 2010   Creado por Emilio   Powered by .

Emblemas  |  Reportar un problema  |  Términos de servicio

Iniciar sesión en el chat