Conoce Pentaho Data Integration alias Kettle

15:15

Pentaho Data Integration Alias Kettle
Muchos meses son los que llevo trabajando con Pentaho Data Integration a full-time mezclándolo con tecnologías #BigData. Este post os despejará algunas dudas y hablaré (a mi modo) de qué es, para que sirve, cómo lo uso, en que consiste, algunos truquillos, etc.

Llevo trabajando desde junio del año pasado a tope en un proyecto muy atractivo de APIs / Bigdata e Integración de Datos que está bastante chulo. Para este proyecto hemos utilizado bastantes herramientas/conceptos y la verdad, se ha tocado de todo. Pero hay una herramienta muy chula, a la que le he cogido un cariño especial:

Pentaho Data Integration (alias Kettle pero en este post lo llamaré PDI)

¿Qué es?

PDI es un GUI con conectores a distintos orígenes de datos, que nos permite procesar el dato al más bajo nivel (fila, campo, tipo) y realizar transformaciones de manera muy sencillita. Realmente si tu proyecto de datos no es muy ambicioso, se podría decir que no vas a tener que programar mucho (aunque a mi siempre me gusta meterme con scripts en #bash y liarla parda :D), aunque si tu proyecto requiere de una lógica muy específica y de complejos procesos, tendrás que aunar diferentes skills en tu cerebro para sacar adelante el proyecto y convertirte en un #DataDriver

¿Para que sirve?

PDI te posibilita crear flujos de datos como si de tuberías de agua virtuales se tratara. Esto permite que tengas cascadas de datos que puedes duplicar, bifurcar, tratar, unir (operaciones de conjuntos), etc.

Además sus conectores ya tienen bastante tiempo y son muy estables en su gran mayoría (exceptuando algunos que están un poquito desfasados).

¿Cómo se usa?

El problema de PDI es como plantear una buena arquitectura, para hacer tus ETLs lo más escalables posibles y evitar cuellos de botella que te hagan perder la cordura.

Una vez hecho esto, lo plasmaremos en su entorno gráfico y comentaremos con notas todo aquello que sea destacable.

Hay que diferenciar en dos tipos de estructuras básicas:
· Jobs: guían flujo a través de transformaciones.
· Transformations: guían el flujo a través de pasos más específicos.

¿Cómo lo uso?

En proyectos en los que existe la necesidad de integrar datos de diferentes fuentes, tratarlos y devolverlos a un nuevo destino.

Establecemos un flujo principal, detectando origen y destino. Pensamos en que cuellos de botella puede tener y la granularidad del procesamiento del dato en las distintas fases.

Después de darle una pensada establecemos un Job inicial. Este lanzará las distintas Transformations.

¿Cuánto vale?

Pues hay dos versiones:
· PDI Community: es gratis y trae el 98% de los conectores disponibles para usar.
· PDI Premium: trae algún conector más y algunas cosillas que hacen en Pentaho para automatizar procesos.

¿Algunos truquillos?

· Ponte un sistema de control de versiones, donde puedas almacenar tus archivos.
· Utiliza herramientas de control del tiempo de ejecución como Crontab, bastante útiles cuando trabajamos con tareas redundates.
· "Snifa" los datos de entrada y salida.
· Pon siempre pasos de "Write To log" en aquellos puntos más complicados.
· Aprende la diferencia entre Copiar y Distribuir el flujo.
· Conoce que se puede multiplicar por X hilos un paso(no todos) y trastea con ello evitando duplicidades.

Esto es todo, más adelante iré hablando de algunas cosas chulas que me he inventado y que están en el cajón.

Por cierto, conocí a su fundador Matt Casters, aquí os dejo una foto que me hice con el.

Foto con Matt Casters - Enero 2015


Nos vemos.





You Might Also Like

0 comentarios

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

statistics :: ヽ(*・ω・)ノ

Contact Form :: (」゜ロ゜)」