Transformación de datos con Pentaho: parte 3

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

Resumen

¿Cómo realizar un merge de datos en Pentaho?

Pentaho es una herramienta ETL (Extract, Transform, Load) que permite realizar transformaciones complejas de datos de manera intuitiva. En este caso, exploraremos cómo realizar un merge de datos en Pentaho usando un ejemplo práctico. Esta herramienta facilita la tarea a través de acciones drag-and-drop, permitiendo una configuración mínima. Sigue leyendo para dominar esta técnica esencial y llevar tus habilidades de análisis de datos a un nivel superior.

¿Cómo crear una copia de datos?

Para comenzar el merge, comenzamos por crear una copia de los datos actuales. Aunque podría hacerse directamente, se usa un "dummy" en Pentaho, un paso que no modifica los datos ni realiza operación alguna, pero es útil para realizar pruebas o simplemente como herramienta auxiliar.

<step>
  <name>Dummy (do nothing)</name>
  <type>Dummy</type>
</step>

¿Cómo utilizar Stream Lookup?

El siguiente paso crucial es el uso de "Stream Lookup" para buscar y combinar datos. Utilizaremos una llave específica para cada dataset que queremos unificar.

  1. Primero, configuramos un lookup hacia nuestro dataset "Flow":

    • El paso de lookup se configura para cruzar Flow contra Flow y obtener el ID Flow.
<StreamLookup>
  <stepname>Flow Lookup</stepname>
  <key>
    <field>flow</field>
  </key>
  <value>
    <name>id_flow</name>
    <rename>flow_id</rename>
  </value>
</StreamLookup>
  1. Añadimos otro Stream Lookup para el año:

    • Aquí, cruzamos el campo year para obtener el ID year.
<StreamLookup>
  <stepname>Year Lookup</stepname>
  <key>
    <field>year</field>
  </key>
  <value>
    <name>id_year</name>
    <rename>year_id</rename>
  </value>
</StreamLookup>
  1. Finalmente, realizamos un lookup para la calidad:

    • Usamos quality name para cruzar y obtener el ID quality.
<StreamLookup>
  <stepname>Quality Lookup</stepname>
  <key>
    <field>quality_name</field>
  </key>
  <value>
    <name>id_quality</name>
    <rename>quality_id</rename>
  </value>
</StreamLookup>

¿Cómo integrar los códigos y países?

Después de realizar los lookups iniciales, podemos integrar más datos utilizando IDs específicos para códigos y países.

  1. Para los países:

    • Usamos alfa3 para hacer merge y obtener ID country.
<StreamLookup>
  <stepname>Country Lookup</stepname>
  <key>
    <field>alfa3</field>
  </key>
  <value>
    <name>id_country</name>
    <rename>country_id</rename>
  </value>
</StreamLookup>
  1. Para los códigos:

    • Esta vez utilizamos com code con clean code para obtener ID code.
<StreamLookup>
  <stepname>Code Lookup</stepname>
  <key>
    <field>com_code</field>
  </key>
  <value>
    <name>id_code</name>
    <rename>code_id</rename>
  </value>
</StreamLookup>

¿Cómo crear vistas organizadas?

Una vez que todos los lookups están configurados y realizados correctamente, seleccionamos los valores que serán útiles, creando una vista organizada bajo select valued traits.

<SelectValues>
  <field>
    <name>ID_trait</name>
    <include>N</include>
    <rename>ID</rename>
  </field>
  <field>
    <name>value_usd</name>
    <include>Y</include>
  </field>
  <!-- Otros campos de interés -->
</SelectValues>

Con estos pasos, hemos creado una vista completa y organizada de nuestros datos en Pentaho. Ahora puedes seguir explorando la funcionalidad que te ofrece esta herramienta, entre ellas, transformaciones más personalizadas y adaptadas a tus necesidades específicas.

Motivación para explorar Pentaho

Finalmente, te animo a seguir explorando Pentaho y todas sus capacidades. Cada paso adicional que tomes en esta herramienta te acercará más a dominar el proceso de ETL y mejorar notablemente tus habilidades en la gestión de datos. ¡Continúa aprendiendo y experimentando!