domingo, 15 de abril de 2012

Usando el ETL de Pentaho

ETL. Son las siglas en inglés de Extraer, Transformar y Cargar (Extract, Transform and  Load).

Es el proceso que permite mover datos desde múltiples fuentes, re formatearlos y limpiarlos, y cargarlos en otra base de datos, datamart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio.

Extraer. La primera parte del proceso ETL consiste en extraer los datos desde los sistemas de origen. La mayoría de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Por ejemplo la información del área de Operaciones puede estar disponible en una base de datos( SQL Server, MySQL, Oracle, PostgreSQL, etc.), mientras que la información de Ventas esté disponible en hojas de cálculo y en archivos texto.

Transformar. La fase de transformación aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos.

No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones:
  • Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen).
  • Traducir códigos (por ejemplo, si la fuente almacena una "A" para Activos y "I" para Inactivos pero el destino tiene que guardar "0" para Activo y "1" para Inactivos).
  • Obtener nuevos valores calculados (por ejemplo, TotalVenta = precio * cantidad).
  • Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).
  • Generación de campos clave en el destino.
Carga. La fase de carga es el momento en el cual los datos de la fase anterior (transformación) son cargados en el sistema de destino. Este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas BASES DE DATOS se sobrescribe la información antigua con nuevos datos, en otras se agrega a la información ya existente.

Todo depende del modelo y requerimientos del negocio.

La fase de carga interactúa directamente con la base de datos de destino. Al realizar esta operación se aplicarán todas las restricciones y triggers que se hayan definido en ésta (por ejemplo, valores únicos, integridad referencial, campos obligatorios) y si están bien definidos contribuyen a que se garantice la calidad de los datos en el proceso ETL.