You are on page 1of 30

Sistemas de Informacin Estratgica

TRANSFORMACIONES ETL ETL. Son las siglas en ingls de Extraer, Transformar y Cargar (Extract, Transform and Load). Es el proceso que permite mover datos desde mltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, 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 mayora de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Por ejemplo la informacin del sistema de RRHH puede estar disponible en una base de datos SQL Server, mientras que la informacin de Ventas est disponible en hojas de clculo. Transformar. La fase de transformacin aplica una serie de reglas de negocio o funciones sobre los datos extrados para convertirlos en datos que sern cargados. Algunas fuentes de datos requerirn alguna pequea manipulacin de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones: Seleccionar slo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen). Traducir cdigos (por ejemplo, si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer). Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio). Unir datos de mltiples fuentes (por ejemplo, bsquedas, combinaciones, etc.). Generacin de campos clave en el destino. Carga. La fase de carga es el momento en el cual los datos de la fase anterior (transformacin) 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 informacin antigua con nuevos datos, en otras se agrega a la informacin ya existente. Todo depende del modelo y requerimientos del negocio. La fase de carga interacta directamente con la base de datos de destino. Al realizar esta operacin se aplicarn todas las restricciones y triggers que se hayan definido en sta (por ejemplo, valores nicos, integridad referencial, campos obligatorios) y si estn bien definidos contribuyen a que se garantice la calidad de los datos en el proceso ETL.
PENTAHO DATA INTEGRATION (KETTLE)

Kettle es un proyecto Open Source de origen belga, que incluye un conjunto de herramientas para realizar ETL. Ahora forma parte de la suite de Inteligencia de Negocios Pentaho. PDI Kettle consiste principalmente de las siguientes aplicaciones: Spoon Es el componente ms utilizado. Es una herramienta grfica que permite disear Jobs y Transformations ETL. Con esta herramienta se podr conectar a diversos orgenes de datos y transformarlos para cargarlos dentro de su estructura del datawarehouse.

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Kitchen Es un programa que permite ejecutar "jobs" diseados en Spoon, permitiendo programarlos y ejecutarlos en modo batch. Permite ejecutar "transformations" diseados en Spoon, permitiendo ejecutarlos desde lnea de comandos y ejecutarlos en modo batch. INSTALACION DE PENTAHO DATA INTEGRATION (KETTLE) Requisitos para la instalacin de PDI Kettle. Kettle requiere de Java Runtime Edition (JRE) versin 1.5 (denominado a veces Java 5) superior. Se puede obtener de la siguiente direccin: http://iava.com/en/download/index.isp Descarga de PDI Kettle. Se puede obtener la ltima versin estable de PDI Kettle y tambin las versiones anteriores de la siguiente direccin: http://sourceforge.net/proiects/pentaho/files/Data%20lntegration/

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Creando un repositorio para las Transformaciones Las transformaciones ETL pueden ser guardadas en archivos tipo XML o en una base de datos para luego ser utilizadas en forma automtica desde el servidor BI En nuestro caso crearemos la base de datos dbspoon en MySQL en la cual almacenaremos las transformaciones.

Paso 0: En nuestro primer contacto con Spoon trabajaremos con un repositorio general, para luego desarrollar un ejemplo con un repositorio de datos especifico. Paso 1: Una vez levantado el servicio de pentaho, procedemos a iniciar nuestra herramienta de integracin de datos Kettle, ejecutamos Spoon de la carpeta data integration.

Paso 2: Procedemos a seleccionar un nuevo repositorio de base de datos tipo Kettle

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Paso 3: Procedemos a ingresar la informacin del repositorio

Se verifica la conexin: Test.

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Paso 4: Se procede a aceptar la conexin y la creacin del repositorio. Paso 5: Colocamos un nombre y descripcin al repositorio y luego procedemos a su CREACIN

Paso 6: Seleccionamos la opcin de Create y luego seleccionamos la opcin para que el repositorio sea actualizado.

Paso 7: Le brindamos el password del administrador. User: admin Password: admin

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Paso 8: Se observa el progreso de la creacin del repositorio y una vez creado nos hace la consulta acerca de que si deseamos que se verifique la sentencia SQL que permiti la generacin del repositorio. Seleccionamos que S.

Paso 9: Seleccionamos la opcin de Ejecutar

Nos muestra el mensaje de actualizacin.

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Paso 10: Ahora procedemos a trabajar con el repositorio. Damos clic en OK para acceder a la plataforma.

Paso 11: Procedemos a la validacin de ingreso User: admin Password: admin

Observamos la interfaz de la plataforma

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Ahora procederemos a nuestro primer ejemplo de transformaciones. Preparar el ambiente de trabajo Antes de empezar, y solo por un tema de orden, crear la siguiente estructura de carpetas que se muestra en la imagen siguiente. En la carpeta ETL se guardarn las Transformations y Jobs que se creen, en la carpeta Input estar el archivo de origen y en la carpeta Output se crear el archivo de salida. En la carpeta Input debe estar ubicado el archivo PROV.txt

Observemos el Archivo Prov.txt

Crear la Transformation Si es que no ha iniciado la herramienta Spoon, ejecute Spoon.bat para iniciarla. Para crear una transformation puede seguir cualquiera de las siguientes opciones: Men File -> New -> Transformation (CTRL + N)

En la barra de botones dar click en el icono New File y seleccionar Transformation.

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


En el panel izquierdo, seleccionar la opcin View. Luego click derecho en Transformations y elegir New. Nos aparece nuestra ventana de trabajo

Identificando Steps A modo de aclaracin, un step es la unidad mnima dentro de una transformation, una variedad de steps est disponible dentro de categoras tales como Input, Output, Flow, Scripting y otros, todos ubicados en el Steps Pallete. Continuando con el ejemplo, identificamos que la transformation tiene que realizar lo siguiente: Leer el archivo de texto. Construir la concatenacin de campos Grabar los datos en un archivo XML Para cada uno de los tems a seguir, se utilizarn diferentes Steps que en este caso estn en diferentes categoras. A continuacin se deben identificar los que deben ser utilizados: Leer el archivo de texto. Utilizar el step Text file input, ubicado en la categora Input. Construir la concatenacin de campos. Utilizar el step Modified Java Script Valu, ubicado en la categora Scripting. Grabar los datos en un archivo XML. Utilizar el step XML Ouput, ubicado en la categora Output. Disear la Transformation

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Una vez identificados los steps, empezamos el diseo de la Transformation, seguir los siguientes pasos: Desde Steps Pallette, seleccionar la categora Input. Arrastrar el icono Text file input al rea de trabajo. Seleccionar la categora Scripting. Arrastrar el icono Modified Java Script Valu al rea de trabajo. Seleccionar la categora Output. Arrastrar el icono XML Ouput al rea de trabajo. El rea de trabajo debe quedar de manera muy similar a la imagen siguiente:

Ahora se debe enlazar Text file input con Modified Java Script Valu, para esto se debe crear un Hop siguiendo cualquiera de las siguientes opciones: Seleccionar el primer icono, mantener presionada la tecla SHIFT y arrastrar el cursor hasta el segundo icono. Ubicarse sobre el primer icono, manteniendo presionado el tercer botn del Mouse (la ruedita o track ball) arrastrar hasta el segundo icono. Seleccionar los dos iconos, click derecho sobre cualquiera de ellos y elegir New hop.

Configuracin de los steps Ahora procedemos a realizar la configuracin de cada uno de los steps Cada step nos mostrar una ventana de configuracin. Estas ventanas irn cambiando de acuerdo a la funcionalidad del step y la categora a la que pertenecen. Procedemos a la configuracin de cada uno de los steps que se estn utilizando: Configurar Text File Input

10

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Doble click sobre el icono Text file input para mostrar la ventana de configuracin. Aqu se indicarn la ubicacin, el formato y el contenido del archivo de texto. Reemplazar el nombre por defecto Provincias. En el campo File or directory, ingresar la ruta completa de la ubicacin del archivo PROV.txt. Click en el botn Add, para agregar el archivo al grid Selected files. Click en el botn Show file content, se puede ver el contenido del archivo PROV.txt (los campos estn separados por el carcter;)

1 3 2

Ir a la solapa Content, aqu se especifica el tipo de archivo de texto (separado por comas, longitud fija), el carcter que indica la separacin de columnas, se indica si el archivo presenta encabezado, etc. Para este ejemplo, no se har ningn cambio. Ir a la solapa Fields, dar click en el botn Get Fields, para agregar la lista de las columnas del archivo de texto al grid. Por defecto, los nombres se obtienen de los headers (encabezados) Revisar los campos Name, Type, Length, Trim Type y eliminar los valores que aparezcan en los dems campos.

11

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Realizar una previsualizacin de los registros que se obtendrn, haciendo click en el botn Preview rows. Cerrar la ventana de preview y click en el botn OK para salir de la ventana de configuracin del step Text file input. Configurar Modified Java Script Valu Doble click sobre el icono Modified Java Script Valu. Reemplazar el nombre por defecto a Concatenar campos. El rea principal de la ventana de configuracin es para ingresar cdigo JavaScript. Al lado izquierdo aparecen las funciones disponibles que se pueden utilizar. Ingresar el siguiente cdigo var mensaje; o mensaje = 'El codigo de la provincia '+ nombre + ' es ' + coddpto + codprov;

12

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


La variable creada pasar a ser un nuevo campo que debe pasar al archivo de salida. Para permitir esto dar click en el botn Get variables. La variable mensaje ser agregada al grid Fields.

Configurar XML Output Doble click sobre el icono XML Output. Cambiar el nombre por defecto a Provincias XML. En el campo Filename ingresar el nombre la ruta donde se crear el archivo Provincias.xml.

En el campo fields, obtenemos los campos a trabajar.

13

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Guardamos la transformacin.

Procedemos a ejecutar la transformacin.

14

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Observamos los resultados

15

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Revisamos nuestro archivo de salida

16

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


TRANSFORMACIONES PARA EL CASO ICECREAM

Conexin a Bases de Datos Primero procedemos a crear una nueva Transformacin y luego en la carpeta Database connections hacemos click derecho y escogemos la opcin New

17

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


La BD Transaccional

El Modelo Dimensional

18

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Poblando Dimensin Cliente INPUT

19

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

20

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


MAPEO DE DATOS

OUTPUT

21

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


POBLANDO DIMENSIN TIEMPO

TblSales

Aade Semestre

Aade nombre mes

22

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

Dim TiempoMapping

Dim tiempo

23

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Poblando Dimensin Ingrediente

Dim_Helado

tblIceCreamIngredient

24

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica

25

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Aade DIMHE_ID

Aade Ingrediente

26

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


EliminaInnecesarios

Dim_Ingrediente Mapping

Dim_Ingrediente

27

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Poblando la Tabla de Hechos

28

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


Creando Trabajos (Jobs)

El Trabajo PoblandoVentasIceCream

29

Laboratorio : Ing. Oscar Tincopa

Sistemas de Informacin Estratgica


El Trabajo Completo

30

Laboratorio : Ing. Oscar Tincopa

You might also like