Transformación de datos con Pentaho: parte 2

Clase 21 de 25Curso de Fundamentos de ETL con Python y Pentaho

Resumen

¿Cómo transformar datos con Pentaho de manera eficiente?

Pentaho es una poderosa herramienta open source para el manejo de ETLs, ideal para transformar datasets. A continuación, exploraremos cómo manejar transformaciones con Pentaho de una manera efectiva, siguiendo un flujo de trabajo meticuloso que nos permitirá enriquecer nuestros datos e integrarlos en un modelo completo.

¿Cómo filtrar y secuenciar datos?

El primer paso esencial en la manipulación de datos es filtrar y establecer secuencias apropiadas para garantizar que solo trabajamos con información relevante.

  1. Filtro de filas: Se utiliza el filtro de rows para seleccionar únicamente registros donde el campo "alfa" no sea nulo.

    # Pseudo-código en base a la clase
    filtro = filtro_filas(main, condiciones={'alfa': 'nonull'})
    
  2. Secuencia de identificadores: Aplicar una secuencia para generar un ID único, "idCountry", para los países. Esto nos permitirá más adelante integrarlos con otros conjuntos de datos.

    # Configuración de la secuencia
    secuencia = aplicar_secuencia(filtro, nombre='addSequenceCountry', inicio=1, fin=9999)
    
  3. Selección de valores: Seleccionar solo las columnas necesarias como "idCountry", "alfa", "país", "región" y "subregión" para optimizar el dataset.

    # Selección de columnas
    select_values(secuencia, columnas_necesarias=['idCountry', 'alfa', 'país', 'región', 'subregión'])
    

¿Cómo ordenar y obtener valores únicos?

El ordenamiento y limpieza de duplicados es crucial para mantener la integridad de los datos.

  1. Ordenamiento de filas: Primero, ordenamos las filas por los campos "flow", "year" y "quantity" para prepararlos para procesos posteriores que requieran datos ordenados.

    # Ejemplo de ordenamiento por flow
    sort_rows(flow_data, campo_orden='flow', tipo_orden='ascendente')
    
  2. Extracción de valores únicos: Posteriormente, utilizamos unique_rows para obtener únicamente los valores únicos de "flow", "year" y "quantity".

    unique_values = obtener_filtrado_unico(datos_ordenados, campo='flow')
    

¿Cómo agregar secuencias a nuestros datos?

La incorporación de secuencias numéricas a los datos ayuda a establecer identificadores únicos necesarios para futuras integraciones.

  1. Secuencia de "flow": Creamos un identificador único para "flow", nombrándolo "id flow".

    secuencia_flow = agregar_secuencia(flow_unico, nombre='id flow')
    
  2. Identificadores para "year" y "quantity": Repetimos el proceso para "year" y "quantity", asegurándonos de renombrar los IDs de manera clara y comprensible.

    secuencia_year = agregar_secuencia(year_unico, nombre='id year')
    secuencia_quantity = agregar_secuencia(quantity_unico, nombre='id quantity')
    
  3. Selección final de valores: Seleccionamos los campos relevantes y los preparamos para análisis e integraciones futuras.

    select_values(final, columnas=['id flow', 'flow', 'id year', 'year', 'id quantity', 'quantity name'])
    

¿Qué hemos aprendido y cómo seguir adelante?

Manejar Pentaho permite realizar transformaciones complejas de manera visual y ordenada, ahorrando tiempo y reduciendo errores al trabajar con grandes volúmenes de datos. Los procesos aquí descritos son paralelos a los realizados en herramientas como pandas, pero con la ventaja de una interfaz gráfica que permite realizar dichas tareas de manera intuitiva. ¡Continúa explorando y mejorando tus habilidades con Pentaho y similares! Te invitamos a seguir avanzado en el proceso de transformación de datos, culminando nuestro dataset y realizando integraciones clave en clases futuras.