Si usas la herramienta Pentaho Data Integration (PDI), o estás pensando en hacerlo, te enseñaremos en este artículo una de las funciones más interesantes y útiles que puedes realizar con este software.
En la última ocasión, estuvimos explicando paso a paso cómo usar la función Calculator en PDI, una de las funciones que podemos encontrar en el apartado de transformaciones de la propia herramienta.
Pero, esta vez, vamos a enseñar cómo funciona “Mapping”, otra de esas funciones que podemos encontrar en dicho apartado.
Para ello, tendremos que realizar los siguientes pasos que explicaremos a continuación:
Acceder a Mapping
Lo primero que debemos hacer es acceder a “Mapping”, que se encuentra dentro del diseño de una transformación, tal y como aparece en la siguiente imagen:
Generar datos con filas y columnas
En nuestro ejemplo vamos a tener una transformación “padre” (Transformación 1) y una transformación ”hijo” (Transformación 2). Empezaremos viendo la Transformación 1:
Como podemos ver en la siguiente imagen, primero generamos 10 filas con una columna de nombre “Numero1”, todas con el valor 3:
Seguidamente añadimos otra columna llamada “Numero2” con los valores del 1 al 10:
Estos dos sencillos pasos solo son para tener unos datos y poder ilustrar cómo funciona el Mapping.
Añadir el paso Mapping (sub-transformation)
Añadimos el paso Mapping (sub-transformation). Aquí ponemos la ruta donde tenemos la transformación a la que queremos llamar, en este ejemplo, “Transformacion 2.ktr”:
Mapear datos de Entrada y Salida
A continuación mapeamos los datos de entrada:
Y los datos de salida:
Veamos ahora la Transformación 2:
Insertar la opción “Mapping Input Specification”
Como se puede apreciar, para empezar el origen del flujo de datos, insertamos la opción “Mapping input specification”:
Vemos que lo que entra son los campos Valor1 y Valor2, los mismos que habíamos mapeado en la Transformacion 1.
Utilizar “Calculator”
Seguidamente, utilizamos “Calculator”, es decir, la calculadora, para hacer 3 operaciones con estos datos, Suma, Resta y Producto (Valores igualmente mapeados en la Transformacion 1):
Usar “Mapping Output Specification”
Por último, utilizamos la opción “Mapping output specification” para llevar los campos Suma, Resta y Producto de nuevo a la Transformacion 1:
Por último, veamos qué pasa cuando arrancamos la Transformación 1:
Aquí se puede ver, que tenemos los campos Numero1 y Numero2, que son los que creamos al principio. Y seguidamente los campos Numero3, Numero4 y Numero5 que corresponden a la Suma, la Resta y el Producto de los dos primeros.
Por tanto, de esta manera, siempre que tengamos un flujo de datos con dos campos de números enteros, podemos reutilizar la “Tansformacion 2.ktr” para tener la suma, la resta y el producto.
Lo más importante para hacer una reutilización de este tipo, es que todo debe estar bien mapeado, y el tipo de los datos deben coincidir tanto en la entrada como en la salida.
Hay que darse cuenta de la gran utilidad que tiene esto, pues ahora mismo solo lo hemos utilizado para una simple calculadora, pero podemos hacer infinidad de transformaciones y re-utilizarlas una y otra vez.