Manual de Pentaho Etl Trans for Mac Ion

download Manual de Pentaho Etl Trans for Mac Ion

of 23

Transcript of Manual de Pentaho Etl Trans for Mac Ion

MANUAL DEL ETL DE PENTAHOPDI PENTAHO DATA INTEGRATION PREVIOUS KETTLE

INTEGRANTES: Collaguazo Adriana Cornejo Grace Pesantez Joffre Solis Galo

01/05/2009

ANTECENDENTES Pentaho es un suite de herramientas de inteligencia de negocios que tiene dos versiones, la versin comercial y la versin de cdigo abierto. Para el caso de la materia Data warehouse que estamos cursando, solo utilizaremos la herramienta PDI (Pentaho Data Integration) el cual es una ETL que nos permitir extraer la informacin de una base de datos OLTP, transformar la informacin a travs de un modelo dimensional y cargar los resultados de la transformacin en una base de datos destino tipo Data warehouse, para que luego pueda ser consultada (consultas ad-hoc) y analizada a travs de herramientas para desarrollar reportes especializados las cuales Pentaho tambin posee.

REQUISITOS PREVIOS A LA INSTALACIONDEL PDI Requisitos mnimos de hardware

Procesador de arquitectura Pentium de 2.0 GHZ 768 MB de memoria RAM Disco Duro con al menos 2 GB libres

Requisitos de software

Java run Time Enviroment 5 o posteriores MySQL version 5 o posteriores

PASOS PARA LA INSTALACION Los siguientes son los pasos para instalar el PDI en un computador: Descargar el archivo .zip del sitio Web de Pentaho que contiene el PDI: pdiopen-3.1.0-826.zip Descomprimir el archivo en cualquier ubicacin dentro de C:

PASOS PARA LA IMPLEMENTACION DE NUESTRO ETL De manera resumida los pasos para la implementacin de nuestro ETL son:

Creacin de la base de datos que contendr el repositorio Creacin del repositorio Extraccin de los datos desde Microsoft Access Creacin de una tabla INPUT Definicin de las tablas de dimensiones Definicin de la tabla de hecho Carga o exportacin de la tabla de hecho

Vamos a detallar cada uno de pasos mencionados.

CREACION DE LA BASE DE DATOS DEL REPOSITORIO Como era de suponer, antes de crear el repositorio debemos crear la base de datos que lo contenga. Para esto ejecutamos MySQL, ingresando a la carpeta bin de MySQL y ejecutamos:

mysqld --console mysql -u root create database repositorio;

Cabe sealar que repositorio es el nombre que le pusimos a la base de datos del repositorio.

CREACION DEL REPOSITORIO

Para crear el repositorio entramos a la carpeta donde descomprimimos el archivo pdiopen-3.1.0-826.zip del PDI y ejecutamos el archivo: spoon.bat o de manera alternativa kettle.exe

Se presentar un cuadro de dilogo Selecciona un catlogo, donde presionaremos el botn New.

Se nos presentara una nueva ventana donde presionaremos el botn New.

Se nos presentara una nueva ventana, la cual llenamos con los datos encerrados en cuadrados. Luego de llenar los datos realizamos un test de la conexion.

Si la conexin est bien definida y la base de datos a la cual nos conectamos existe entonces luego de presionar el botn de Test debemos obtener:

Presionamos el botn de Aceptar y en la parte inferior de la ventana presionamos el botn de OK adicional. Se ha creado de esta manera la conexin. Se nos presenta nuevamente la ventana anterior y debemos presionar Create or Upgrade para de esa manera terminar de definir nuestro repositorio.

Al presionar este botn, el PDI crea en nuestra base repositorio una tablas que el usara para poder almacenar la metadata de las transformaciones.

Luego de presionar este botn debemos obtener la siguiente ventana de anuncio:

Luego presionamos el botn de Aceptar.

Podemos observar que es necesario ponerle un nombre a nuestro repositorio, el nombre superior tan solo es el nombre de la conexin a nuestra base de datos. En nuestro ejemplo colocaremos el nombre repositorio.

Luego presionamos OK, se nos presentara la ventana inicial donde seleccionamos nuestro repositorio y nos logoneamos con las credenciales: o Login: admin o Password: admin

En hora buena, hemos completado la definicin y creacin de nuestro repositorio.

EXTRACCION DE LOS DATOS DESDE MSACCESS

Luego de que terminamos el paso anterior inmediatamente se nos abrir la siguiente ventana:

Hacemos doble click sobre la carpeta transformacin y se nos presentara la siguiente pantalla:

Si hacemos doble click sobre la carpeta input se nos abrir la lista desplegable de opciones. De la lista desplegable seleccionamos Table Input.

Seleccionamos Table input y lo arrastramos a la zona de Diseo:

Hacemos doble click sobre table input y seleccionamos Connection en la opcin New, se nos presentara lo siguiente:

Pero esta tabla que estamos creando debe obtener datos de MSAccess para lo cual debemos crear una conexin a la base de datos. Para esto vamos a Panel de Control, luego a Herramientas Administrativas y hacemos doble click sobre Data Sources (ODBC). Como vemos, seleccionamos MS Access Database y presionamos el botn Configure:

Al presionar el botn Configure y cambiamos el Nombre del ODBC a AccessDatos, luego presionamos el botn Seleccionar.

Luego seleccionamos la ruta donde se encuentra la base de Datos Access.

Al cambiar el nombre de la Conexin a AccessDatos en la conexin, ese nombre le colocamos en la pantalla de la definicin de la conexin de la Table Input:

Hacemos un test para probar la conexin y luego presionamos OK. Ahora volvemos al cuadro de dialogo del Table Input en el que colocaremos una sentencia SQL para poder agrupar todas las tablas de la base Access en una sola tabla:SELECT paralelo.*, materia.*, paralelo_estudiante.*, ingreso_carrera.*

FROM ingreso_carrera INNER JOIN ((paralelo INNER JOIN paralelo_estudiante ON paralelo.id_paralelo = paralelo_estudiante.id_paralelo) INNER JOIN materia ON paralelo.codigo_materia = materia.codigo_materia) ON ingreso_carrera.cedula_est = paralelo_estudiante.cedula_estudiante;

En la siguiente figura se muestra la sentencia SQL colocada:

DEFINICION DE LAS TABLAS DE DIMENSIONES

Para la creacin de las Tablas de Dimensiones hago doble click sobre la carpeta Data warehouse y selecciono el icono de Combination lookup/update y lo arrastramos sobre la zona de diseo. Ahora para conectar los dos iconos presionamos la tecla SHIFT y hacemos el proceso de arrastrar desde el icono de Table Input hacia el destino que es el icono de Combination lookup/update (drag and drop).

Luego hacemos doble sobre el icono de Combination lookup/update y se nos presenta la siguiente pantalla:

Definimos la conexin a la base destino que albergara la tabla de dimensin resultante (solo se crea la estructura, no esta cargada con datos).

Para esto hacemos click en el botn New y llenamos los campos como se muestra en la figura:

Luego de presionar el botn Aceptar volvemos a la ventana anterior y presionamos el botn Get Fields para obtener los campos de la Tabla input y en el caso de la dimensin unidades, solo escogemos el campo codigo_unidad y eliminamos el resto. Ahora colocamos el primary key de nuestra tabla de dimensin que se llamara id_unidad

En el mismo cuadro de dialogo existe la opcin SQL la seleccionamos y se nos presentara la siguiente pantalla:

Finalmente presionamos el botn Execute, se corre el script que crea la estructura de la nueva tabla de dimensin en nuestra base de datos destino repositorio, damos click en OK.

Se nos presenta la pantalla anterior y debemos presionar OK.

Realizamos los mismos pasos para crear las dems tablas de dimensin: materias, estudiante y tiempo con sus respectivo campos primarios (PK): id_materias, id_estudiante, id_tiempo.

Para definir la tabla de dimensin materias usamos el botn Get Fields seleccionamos los campos cdigo_materia, id_unidad de la Tabla Input.

Para la tabla de dimensin estudiante se seleccionan por medio del botn Get Fields los campos cedula_estudiante, matricula de la Tabla Input para conformarla.

Para la tabla de dimensin tiempo se seleccionan por medio del botn Get Fields los campos anio, termino de la Tabla Input para conformarla.

Seleccionamos la carpeta Transform se desplegaran varias opciones, escogemos la

funcin Select Values que permite seleccionar campos en una fila.

Luego presionamos el botn Get fields to select para obtener los campos de la tabla input, solo debemos dejar las claves primarias (ID) de cada tabla de dimensiones.

Ahora en la carpeta Transform utilizamos la funcin Sort rows que permite sortear filas/ordenar datos basados en los valores de los campos. Luego damos click en el botn Get fields para obtener los ID de cada tabla dimensional. Es importante definir la funcin Sort rows antes de la funcin Group by que posteriormente utilizamos.

Seleccionamos de la carpeta Transform la funcin Group by que permite agrupar los ID haciendo referencia a los forneos de las tablas de dimensiones. Se crea el campo con el nombre de hecho y de tipo Number of values que es la funcin de agregacin ya que los registros son por unidad, y solo puede existir un registro en una materia por cada estudiante, entonces siempre se tendr el valor de 1.

Seleccionamos en la carpeta Output seleccionamos la funcin Table output que permite escribir informacin a una tabla de base de datos.

Luego damos click en el botn SQL aparecern las sentencias que se ejecutaran al presionar el botn Execute.

Al presionar el botn Execute se presentaran los resultados de las sentencias SQL en una ventana, damos click en OK.

Nuestro Modelo Dimensional resultante sera el que presentamos a continuacin:

En la Base de Datos Mysql repositorio se crearon las siguientes tablas:

Para ejecutar la transformacin hacemos click en el botn Replay this transformation y se mostraran los resultados.