Está en la página 1de 23

MANUAL DEL ETL

DE PENTAHO
PDI PENTAHO DATA
INTEGRATION
PREVIOUS KETTLE

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: pdi-open3.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.

También podría gustarte