Transformaciones ETL en Pentaho sin código

Resumen

Trabajar con grandes volúmenes de información requiere herramientas que simplifiquen el proceso ETL sin escribir código línea por línea. Pentaho, un sistema open source para el manejo de ETL, permite aplicar transformaciones a tus datasets arrastrando bloques visuales que replican lo que harías en Pandas, pero con un enfoque gráfico ideal para analistas de datos y profesionales de Business Intelligence.

¿Cómo aplicar un filtro de filas en Pentaho para limpiar países?

El primer paso para transformar el dataset de países es eliminar registros con valores vacíos. Para eso, Pentaho ofrece el componente Filter Rows, que conectas al flujo principal y configuras con una condición lógica.

En el caso del dataset country, la condición indica que el campo alpha no sea nulo. Así garantizas que solo avancen los registros válidos hacia las siguientes etapas de la transformación.

¿Qué hace el componente Filter Rows en Pentaho? Filtra registros según una condición booleana. Solo los datos que cumplan la regla pasan al siguiente paso del flujo. [00:35]

¿Cómo generar un ID autoincremental con Add Sequence?

Una vez filtrados los países, necesitas un identificador único para cada registro. El componente Add Sequence crea una secuencia numérica configurable, en este caso llamada id_country, que va del uno al nueve.

Este ID será clave más adelante para hacer merge con la tabla de trades, ya que conecta los países con sus respectivas regiones y subregiones.

¿Para qué sirve Select Values al final del flujo?

No todas las columnas son útiles en la vista final. Con Select Values eliges únicamente las que aportan valor al dataset transformado.

Para la vista de países, las columnas seleccionadas son:

  • id_country como identificador único.
  • alpha como código del país.
  • country con el nombre.
  • region y subregion para la jerarquía geográfica.

¿Cómo crear dimensiones para flow, year y quantity?

Las dimensiones son tablas auxiliares que contienen los valores únicos de un atributo junto con un ID. En este caso, vas a crear tres dimensiones a partir del dataset original: flow, year y quantity.

El proceso se repite tres veces en paralelo y empieza con el ordenamiento de los datos.

¿Por qué hay que ordenar antes de buscar valores únicos?

El componente Sort Rows organiza los datos de manera ascendente por el campo elegido. Esto es un requisito previo del siguiente paso, Unique Rows, que necesita los registros ordenados para detectar correctamente los duplicados.

Cada flujo paralelo aplica:

  1. Sort Rows sobre la variable correspondiente (flow, year o quantity).
  2. Unique Rows con la opción ignore case activada.
  3. Add Sequence para generar el ID único de la dimensión.

¿Qué diferencia hay entre Sort Rows y Unique Rows? Sort Rows ordena los datos según un campo. Unique Rows elimina duplicados, pero exige que los datos lleguen ya ordenados. [04:20]

¿Cómo nombrar correctamente las secuencias de cada dimensión?

El nombre de la secuencia debe reflejar la dimensión que estás construyendo. Para el flujo de flow, la secuencia se llama id_flow. Para year, se llama id_year. Y para quantity, id_quantity.

Esta convención de nombres facilita el merge posterior y mantiene consistencia con la tabla de hechos.

¿Cómo finalizar la transformación con Select Values en cada dimensión?

Después de generar los IDs, cada flujo termina con un Select Values que conserva solo dos columnas: el ID autoincremental y el valor único.

Un detalle importante apareció con la dimensión de cantidad: el campo correcto no era quantity, sino quantity_name. Verificar el nombre exacto del campo evita errores silenciosos en la ejecución.

El resultado final son tres datasets independientes, uno por dimensión, listos para integrarse al modelo:

  • Dimensión flow con cuatro valores únicos.
  • Dimensión year con los años disponibles en el dataset.
  • Dimensión quantity con los nombres de unidad de medida.

¿En qué se parece Pentaho a Pandas para transformar datos?

La lógica detrás de ambas herramientas es idéntica: filtrar, ordenar, eliminar duplicados, agregar identificadores y seleccionar columnas. La diferencia está en la interfaz.

Mientras que en Pandas escribes funciones como drop_duplicates() o sort_values(), en Pentaho arrastras stages visuales que cumplen la misma función. Esto convierte a Pentaho en una opción accesible para perfiles que prefieren un enfoque low code sin perder potencia analítica.

El siguiente paso del proceso es completar la transformación del dataset de trades y unirlo con las dimensiones de códigos y países mediante un merge. ¿Tú prefieres trabajar con código en Pandas o con bloques visuales en Pentaho? Cuéntame en los comentarios.