KETTLE (Parte I)- INTRODUCCIÓN

BI Geek / Business Intelligence  / KETTLE (Parte I)- INTRODUCCIÓN
Kettle

KETTLE (Parte I)- INTRODUCCIÓN

Kettle es una herramienta, dentro del paquete Pentaho Data Integration, de gran potencial para la realización de procesos de Extracción, Transformación y Carga de datos (ETL). Al ser un software libre, muchas empresas se interesan en su empleo a la hora de abordar proyectos de Business Intelligence (BI).

Para utilizar Kettle no hace falta realizar ninguna instalación, simplemente hay que obtener los archivos que se requiere para la ejecución, bien sea descargándolo u obteniéndolo de algún otro modo. (Ocupa alrededor de 1GB)

Gracias a la herramienta Kettle podemos importar datos desde varios orígenes (Excel, CSV, XML, BBDD, etc.), transformar los datos a través de los pasos (hablaremos en la parte II sobre los diferentes pasos que hay) y generar una salida a la fuente de datos destino que se necesite.

Estas tareas son típicas en procesos de migración, integración de terceros, explotación de Big Data, limpieza de datos, análisis y perfilado de datos (data profiling), etc.

Spoon-Pan-Kitchen

Dentro de Kettle nos encontramos con un entorno gráfico llamado Spoon, diseñado para simplificar las tareas de generación de ETLs, donde podemos diseñar Transformaciones y Trabajos.

Dentro de Spoon podemos ver en la parte superior una barra de herramientas donde están los ejecutables de las Transformaciones y los Trabajos. En la parte de la izquierda tendremos dos pestañas (“View” y “Design”), desde Design podremos diseñar nuestros Trabajos o Transformaciones metiendo los pasos que necesitemos dependiendo de como queremos tratar los datos. La pestaña View nos permite ver todos los objetos que hayamos utilizados en esa Transformación o Trabajo, tales como conexiones, pasos, saltos, particiones de esquemas, etc.

Los Trabajos y Transformaciones que creemos los podemos guardar como archivos locales o en un catálogo de Kettle, el cual puede permanecer en una base de datos relacional. Para cargarlos desde un catálogo de una base de datos tenemos que tener una conexión definida.

Las Transformaciones y Trabajos se ejecutan con las herramientas de Pan y Kitchen, estos ya vienen integrados en Kettle.

Pan es un motor de transformación de datos que realiza funciones tales como lectura, manipulación y escritura de datos hacia y desde varias fuentes de datos.

Kitchen es un programa que ejecuta los Trabajos diseñados por Spoon en XML o en un catálogo de datos.

Los Trabajos normalmente se planifican en lotes para ejecutarlos automáticamente en intervalos regulares. Pan y Kitchen pueden leer los datos para ejecutar los pasos que se describen en la Transformación o ejecutar el Trabajo

Trasformaciones y Trabajos

Aquí dejamos las principales características de las Transformaciones y los Trabajos.

  • Transformaciones:

    – Orientación a los datos.

    – Representa una tarea ETL.

    – Es una colección de pasos (steps). Cada paso es una operación particular sobre datos.

    – Los pasos se conectan entre sí a través de saltos (se representa en forma de flecha), que indica cual será el flujo de datos. Siempre representa el flujo de salida de un paso y el flujo de  entrada de otro.

    – Los pasos trabajan de manera simultánea y asincrónica.

sin-titulo1

  • Trabajos:

   – Orientación a la Tarea y a los Datos.

   – Se compone de una o más transformaciones que serán ejecutadas secuencialmente.

   – La ejecución de cada entrada de trabajo presenta una salida de status, que puede ser

    analizada para la realización de diferentes acciones.

sin-titulo

En resumen, puedo afirmar que Kettle es una herramienta que tenemos que tener en cuenta, ya que es muy intuitiva y presenta algunas características frente a otras herramientas de ETL orientadas a facilitar y servir de ayuda a la hora de diseñar desarrollos más eficaces. Un ejemplo es el poder visualizar los datos en todo momento. Se puede visualizar la salida de los datos de cualquier paso, aspecto de gran utilidad a la hora de encontrar errores y de resolverlos.