Hola a todos, les dejo un breve trabajo que permite reunir información de distintas fuentes de datos con el fin de extraerla, transformarla y usarla para un objetivo en particular. En este caso, en la empresa de Energía que me desempeño, todos los meses se debe enviar información a la SEC (Superintendencia de Electricidad y Combustible) a través de la plataforma STAR y subir archivos de texto. Les debo el trabajo de inventario de activo... aún no lo termino, está quedando bakan. creo...
Para este tema, utilicé el producto de Pentaho Open BI Suite. (herramienta Kettle, componente Spoon). Cero costo :) y un poco de investigación .. café y barras de quaker...
La arquitectura forma un proceso centralizado bajo un marco de trabajo orientado a la solución de problemas, empleando componentes de Inteligencia de Negocio (BI)
Modelo conceptual Kettle
Spoon te permite diseñar de forma gráfica la transformación ETL (Extracción, Transformación y Carga)
Spoon incluye un entorno gráfico de desarrollo, basado en dos tipos de objetos:
-Transformación (colección de pasos en un proceso ETL)
-Trabajos (colección de transformaciones)
Los procesos ETL son responsables de extraer, de transformar y de cargar datos.
-Permite crear transformaciones y trabajos que pueden hacer procesos lote/batch.
-Su interfaz gráfica permite visualizar todo el flujo de la información.
-Posee una gran cantidad de fuentes de origen y destinos de almacenamiento de información.
-Fácil de instalar y manejar, buen soporte Internet y local.
-Puede ser instalado en varios ambientes.
Ejemplo de un ETL
El siguiente ejemplo es uno de los más sencillo, la idea es entender el concepto de este trabajo y no explicar en detalle. Otro día. ;) más café y barras de Quaker.
Proveedores
· Objetivo del ETL : Carga los datos de los proveedores que rompen las cañerías (sin ofender a nadie)
· Nombre transformación: Proveedores
· Periodicidad: Mensual
· Modalidad de extracción: Total
Figura 2 : Componentes del ETL
Componentes del ETL
Nombre del paso : Get data from XML
Objetivo :Permite obtener los datos del origen desde un archivo XML. En este caso los proveedores residen en este medio.
Ubicación : D:\XMLProveedores.xml (unidad de red)
Modalidad de extracción/transformación
Nombre campo
|
Xpath
|
Element
|
Result type
|
Type
|
Id_psa1000
|
Id_psa1000
|
Node
|
Value of
|
Integer
|
Razon1
|
Razon1
|
Node
|
Value of
|
String
|
Nombre del paso: Select values
Objetivo :Permite seleccionar registros o campos necesarios que serán utilizado en el destino.
Nombre del paso: Execute SQL script
Objetivo : Permite borrar los datos del destino, tabla proveedor de la base de datos Postgres antes de ser cargada por los datos del origen.
Conexión : DestPostgres
Modalidad de extracción/transformación
Nombre del paso: Dimensión Proveedor - Destino (table output)
Objetivo :Permite insertar los datos que provienen del origen D:\XMLProveedores.xml , hacia la tabla proveedor en el destino.
Conexión : DestPostgres
Mapeo de fuentes a Destino
Destino
|
Columna
Destino
|
Tipo
|
Tipo
Dato
|
Largo
|
Origen
|
Columna
origen
|
Tipo
dato
|
Largo
|
Tipo
|
Proveedor
|
id_provee
|
PK
|
Varchar
|
12
|
D:\XMLProveedores.xml
|
Id_psa1000
|
integer
|
7
|
|
proveedor
|
Desc_prove
|
varchar
|
100
|
D:\XMLProveedores.xml
|
Razon1
|
Varchar
|
100
|
Ejecución de la transformación
Se ha cargado con la transformación ETL siguiente:
Transformación
|
Archivo
Origen
|
Tabla
Destino Base dato Postgres
|
Archivo
|
Dimensión
proveedor
|
D:\XMLProveedores.xml
|
Proveedor
|
ETLProveedor.ktr
|
Figura 3: Captura de la salida
Al tener los datos en las tablas correspondientes, se genera otro proceso que permite pasarlo a un archivo de texto y listo.
En la figura 4, en la capa de integración se utilizaron varios tipos de fuentes origen y en el destino un repositorio de archivos de texto que posteriormente son subidos a la plataforma Star de la SEC
Figura 4:Capa de Integración
Resumen
En este tema se visualizan las etapas de diseño; obtención de los datos operacionales, luego generar los respectivos ETL’s (extracción, transformación y carga) hacia la base de datos destino como un "Stage" pero finalmente dejar la salida final en archivos de textos según los parámetros solicitados por la SEC. Todo este conjunto de ETL se asocian a un JOB que te permite establecer una tarea programada o manual.
En una sola versión de todos los recursos de información, que es uno de los más grandes desafíos para las organizaciones hoy en día. Pentaho Data Integration permite un poderoso ETL (Extracción, Transformación y Carga).
Espero que les sirva.. dudas o más detalle de este trabajo, escribir a lpizarrofx@gmail.com
Url para bajar el programa http://sourceforge.net/projects/pentaho/files/Data%20Integration/
No hay comentarios:
Publicar un comentario