Transformación grafica ETL con Spoon – un componente de Pentaho Data Integration (Kettle)
En la primera lección del Kettle ETL tutorial vamos a usar la aplicación Spoon (un componente de Pentaho Data Integration) para crear unas transformaciones simples de ejemplo y mostrar que fácil es usar y diseñar los módulos de Kettle.
La transformación de este ejemplo leerá datos de una tabla Oracle, filtrara los datos y creara dos ficheros de texto donde los datos estarán escritos según los criterios introducidos.
En cuanto el Spoon este instalado correctamente, después de ejecutarlo aparece una ventana donde hay que elegir un repositorio.
Un Repositorio es un sitio donde todos los objetos de Kettle están guardados, en nuestro caso los objetos están en una base de datos Oracle.
Si no tenemos ningún repositorio disponible, desde aquí se puede crear uno nuevo y así haremos en esta guía.
Para crear un nuevo repositorio haga clic en ‘New’ y rellena los parámetros de conexión (ventana ‘Connection information’).
En esta pantalla hay algunas opciones muy útiles, cómo ‘Test’ que permite comprobar si la conexión funciona correctamente y ‘Explore’ que da posibilidad ver y explorar los objetos y el esquema de la base de datos.
Al pulsar el boton ‘Create or Upgrade’ un nuevo repositorio esta creado en la ubicación indicada con un usuario administrador con el login admin y la contraseña admin. Se recomienda cambiar la contraseña después de logear por la primera vez.
Conexión entre Spoon y Oracle: 
Si la conexión con un repositorio esta establecida, debemos ver el menú principal de la aplicación Spoon.
Para diseñar una nueva transformación que realizara el flujo de datos descrito antes, hay que seguir estos pasos:
Haga clic en el icono ‘New transformation’ y ponga el nombre de la transformación (en este tutorial es trsfCountry)
Define una conexión a la base de datos (la opción está en el menú a la mano izquierda, en el área ‘Main tree’).
Arrastra los siguientes elementos del menú ‘Core Objects’ a la área de diseño de la tarea: Table Input (menú Output), Filter Rows (menú Transform) y dos objectos de Text Field Output (menú Output).
Edita la tabla fuente (Table Input) – elija la base de datos fuente y introduce la sentecia SQL que devolvera los datos solicitados al flujo de la transformación.
La table fuente Oracle en Spoon: 
En el siguiente paso crearemos los vínculos entre objetos de la transformación Spoon. Estos vínculos se llaman Hops en spoon y básicamente indican el sentido del flujo de los datos en una transformación. Los elementos Hops se encuentran en la sección de la pantalla ‘Main Tree’ y ahí también pueden ser creados y editados.
La manera más fácil para crear un Hop es arrastrar una línea entre dos objetos manteniendo la tecla SHIFT pulsada.
Después de crear los vínculos que definen el flujo de los datos, introduciremos los criterios de validación y filtro de los valores en el elemento ‘Filter Values’.
En este ejemplo queremos filtrar los datos que tienen los valores que empiezan con la letra S en el campo COUNTRY_TEXT.
Filtering data in Spoon: 
La única cosa que queda para configurar son los ficheros de texto. Al hacer el clic doble se abre una ventana con las propiedades del fichero. Hay que poner el nombre, indicar el directorio donde guardarlo y es posible ajustar cualquier otra opción relacionada con el archivo de texto.
Guarda y ejecuta la transformación (menú -> Transformation -> Run ó con la tecla F9). Abajo esta adjunto el log de ejecución de la tarea Spoon de ejemplo.
Vemos por los números de los datos procesados en cada flujo que el programa se ejecutó correctamente. Había 249 registros en un flujo de entrada de la tabla fuente Oracle, 31 de ellos iban al flujo ‘Countries starting with S’ y los otros 218 fueron rechazados al otro flujo (‘Rejects’).
Log de ejecución Transform Spoon: 
|