Integracion de datos

Herramientas de Integración, ETLs y Pipelines de datos

Pentaho 3.2 Data Integration: Beginner's Guide (fin de lectura)

Estimados,

luego de un tiempo considerable he finalizado la lectura de  "Pentaho 3.2 Data Integration: Beginner's Guide" escrito por María Carina Roldán.

En pocas palabras, un muy buen libro!

La cantidad de ejemplos, sobre todo de procesos no triviales y poco utilizados, hacen de este libro una opción inteligente a la hora de aprender sobre PDI e integración de datos.

Uno de los capítulos que más ha llamado la atención es el dedicado a Javascript embebido.

También podrán leer sobre como armar datamarts mediante la utilización de los pasos necesarios y su configuración.

No intento hacer un resumen del libro ni mucho menos, pero considero que su lectura es fundamental para aquellos que se inician con PDI e integración de datos y muy recomendable para aquellos que ya lo conocen y quieren profundizar.

Saludos

Mariano García Mattío

Sobre el evento Informatica Day 2010

La semana pasada asistí al Informatica Day 2010, evento que cada año organiza Informatica en el que se habla principalmente sobre Integración de Datos, que para eso es la especialidad de esta compañía.

Estos son los principales contenidos que se presentaron en las ponencias (consultar la agenda del evento para más detalles):

  • Ponencia principal sobre Gestión de Datos Maestros
  • Caso Occidental Hoteles
  • Integración Lean
  • Mejores prácticas para la retirada de aplicaciones legacy
  • La Plataforma Informatica para facilitar la migración de datos
  • Archivo de aplicaciones Oracle – E-Business Suite, PeopleSoft y Siebel
  • Mejores prácticas para utilizar el data warehouse en estrategias de fidelización de clientes

Master Data Management en el Informatica Day 2010

 

De las presentaciones, quiero destacar las 4 que me gustaron más:

SSIS: Solución a dos errores sin motivo aparente cuando insertamos datos en MySql

SSIS: Solución a dos errores sin motivo aparente cuando insertamos datos en MySqlPor la razón que sea puede que tengamos que desarrollar un paquete de Microsoft Integration Services que nos mueva datos de cualquier origen a una tabla que se encuentra en una base de datos MySQL.
La primera intención será hacerlo mediante una ADO.NET Destination y el provider de MySQL para la conexión. Si lo hacemos así para insertar los datos directamente, al crear el destino, seleccionar la conexión y luego seleccionamos la tabla aparecerá un error como el siguiente al comprobarlo todo con la vista previa o al intentar hacer las asignaciones.

Este error se debe a al modo de compatibilidad sql ansi de la base de datos mysql donde intentamos cargar los datos. Para solventarlo debemos conectarnos al servidor de MySQL y cambiar la compatibilidad ansi de sql de la base de datos*...

 

Ejemplo Kettle para conectarnos a Sap (con el plugin ProERPConn)

Ejemplo Kettle para conectarnos a Sap (con el plugin ProERPConn)En una entrada anterior del blog vimos que con Talend nos podiamos conectar a Sap sin necesidad de comprar ningún plugin o complemento adicional en la versión Open Studio. Tan solo habia que disponer del conector Java sapjco.jar, que Sap ofrece libremente a sus clientes, y utilizar los componentes de Talend tSapInput y tSapOutput. La comunicación con Sap era en ambas direcciones, permitiendo tanto la lectura como la escritura en el través de los módulos de función (las llamadas RFC). Ademas, en las versiones de pago de Talend, hay funciones adicionales que incluyen asistentes, la lectura directa del metadata de Sap (diccionario de datos, módulos de función y bapis, recuperación de la documentación de las RFC y su test online) y por tanto, una mayor facilidad de uso, ya que en la versión Open es muy dificil de configurar el componente y la documentación al respecto brilla por su ausencia...

Integración de Soluciones en la Pyme

Las empresas Pequeñas y Medianas, se encuentran ante el reto de adoptar tecnologias que soporten su crecimiento, flexibilicen sus modelos de negocio y les permitan automzatizar sus ventajas competitivas. En Celeritech entendemos que dichas soluciones deben atender las necesidades de Incremento de las Ventas, Reducción de Costos mediante un mejor control del Negocio y herramientas que faciliten a la Dirección y la gerencia el Proceso de Toma de Decisiones. Es por ello que nuestro enfoque se centra en la "Gestión Inteligente de la Pequeña y Mediana Empresa".

La tecnología para soportar la cadena de valor de cualquier empresa, incluye soluciones de back office (gestión administrativa, financiera y logística), soluciones de front office (atención al cliente vía telefónica, Puntos de Venta, Fuerza de Venta Móvil), más las soluciones propias de su sector de industria (soluciones a medida, soluciones de nicho).

¿ Cómo abordar este mapa de soluciones? La palabra clave es "Integración", la cual viene dada por plataformas como SAP, Oracle, Microsoft, que en la mayoría de los casis ofrecen una suite de productos, que minimicen el costo de integrar los diferentes tipos de tecnología.

Modelo de Datos y Procesos de Carga del DW de datos públicos de Londres.

Modelo de Datos y Procesos de Carga del DW de datos públicos de Londres.Durante estos días hemos estado analizando los diferentes ficheros de datos que proporciona la autoridad de Londres para preparar su “normalización” y procesamiento y definir también el modelo de datos del DW que vamos a construir. Tal y como nos recordaba la gente de BI Fácil, nos hemos encontrado con que la información estaba en unos “estándares muy poco estándares”. Cada fichero esta construido de una manera y no siguen una linea para construir de la misma forma los ficheros de datos. Eso nos ha complicado un poco el procesamiento de la información.
Para que entendamos mejor el ejemplo, anotar que los datos con los que hemos trabajado corresponden a la región de Londres (Greater London o Gran Londres), que incluye la Ciudad de Londres y Westminster, asi como otros 31 distritos. Es una de las nueve regiones de Inglaterra.Desde el año 2000, la región está administrada por la Autoridad del Gran Londres y tiene un alcalde controlado por la Asamblea de Londres. El estatus del Gran Londres es algo inusual. Es la única región de Inglaterra con un amplio poder, una asamblea regional electa y un alto cargo elegido también por elección directa.

Proceso ETL para la carga de la Dimensión Tiempo. Ejemplo de uso de la ETL Talend.

Proceso ETL para la carga de la Dimensión Tiempo. Ejemplo de uso de la ETL Talend.Una vez identificados los origenes de datos, podemos proceder a la construcción de las tablas físicas de nuestro modelo y al desarrollo de los procesos de llenado. Empezaremos el proceso con la Dimensión Tiempo. Como ya indicamos, esta dimensión no dependera de nuestro ERP u otros sistemas externos, sino que la construiremos a partir de los calendarios. Generaremos todos los registros necesarios para esta tabla para un periodo de 20 años, que va desde el 01 de Enero de 2000 (para los datos históricos anteriores que también cargaremos en nuestro DW)  hasta el 31 de Diciembre de 2020.

Vamos a utilizar Talend con la opción de generación en lenguaje Java (también podriamos utilizar el lenguaje PERL). El utilizar Java significa que todos los procesos y transformaciones que definamos se van a “traducir” a lenguaje Java a nivel interno. Aunque no es estrictamente necesario conocer el lenguaje Java para trabajar con Talend, su conocimiento nos va a facilitar mucho el trabajo con la herramienta y nos va a permitir definir nuestro propio código para la transformaciones o procesos que no se incluyen de forma estandar.
Talend esta basado en el entorno de desarrollo Eclipse. Es un entorno gráfico con amplias funcionalidades donde la definición de las transformaciones se realiza de una forma visual muy intuitiva, seleccionando y arrastrando componentes y estableciendo relaciones entre ellos. Incluye un entorno de Debug para poder analizar los procesos y sus errores, así como la posibilidad de establecer trazas para realizar un seguimiento de los procesos cuando los estamos desarrollando y validando...

 

Tabla Hechos Venta. Ajuste diseño fisico y procesos carga ETL. Contextos en Talend.

Tabla Hechos Venta. Ajuste diseño fisico y procesos carga ETL. Contextos en Talend.Vamos a desarrollar los procesos de carga de la tabla de hechos de ventas de nuestro proyecto utilizando Talend. Antes de esto, vamos a hacer algunas consideraciones sobre la frecuencia de los procesos de carga que nos van a permitir introducir el uso de un nuevo elemento de Talend, los contextos.
En principio, vamos a tener varios tipos de carga de datos:
- Carga inicial: será la primera que se realice para la puesta en marcha del proyecto, e incluira el volcado de los datos de venta desde una fecha inicial (a seleccionar en el proceso) hasta una fecha final.
- Cargas semanales: es el tipo de carga mas inmediato. Se realiza para cada semana pasada (por ejemplo, el martes de cada semana se realiza la carga de la semana anterior), para tener un primer avance de información de la semana anterior (que posteriormente se refrescara para consolidar los datos finales de ese periodo). La carga de una semana en concreto también se podrá realizar a petición (fuera de los procesos batch automáticos).
- Recargas mensuales: una vez se cierra un periodo mensual (lo que implica que ya no puede haber modificaciones sobre ese periodo), se refresca por completo el mes en el DW para consolidar la información y darle el status de definitiva para ese periodo. La ejecución es a petición y se indicara el periodo de tiempo que se quiere procesar.
Teniendo en cuenta esto, definiremos un unico proceso de traspaso al cual se pasaran los parametros que indicaran el tipo de carga a realizar. Para ello utilizaremos los contextos de Talend. Cada tipo de carga tendra un contexto personalizado que definira como se va a comportar el proceso...

Mas ejemplos de Talend. Ejecución de sentencias SQL construidas en tiempo ejecución.

Mas ejemplos de Talend. Ejecución de sentencias SQL construidas en tiempo ejecución.Después de llenar la dimensión Tiempo con los procesos ETL utilizando Talend, al revisar los registros de la tabla DWD_TIEMPO, comprobamos que para algunos años, la ultima semana del año se ha llenado con el valor 1. La explicación es que Java utiliza la normalización ISO para el número de semana, y esta nunca puede ser superior a 52. Por tanto, para algunos años, la ultima semana del año ha quedado registrada con el valor 1.
Este problema nos sirve de base para desarrollar nuestro seguiente proceso ETL, que ira encandenado a la generación de los registros de la dimensión tiempo, y que tendrá el objetivo de arreglar los registros que han quedado erróneos en la base de datos.
El proceso tendría los siguientes pasos:
1) Recuperación para cada año, del mayor número de semana registrado en la tabla: para ello, ejecutamos una sentencia SQL , utilizando el componente TMySqlInput del grupo Databases, Mysql)...