Transformaciones PowerCenter: Lookup

BI Geek / Business Intelligence  / Transformaciones PowerCenter: Lookup
lookup-powercenter

Transformaciones PowerCenter: Lookup

Conocer las diferentes transformaciones involucradas en un proceso ETL (Extract Transform Load) permite aplicar las buenas prácticas de implementación y, con ello, optimizar el rendimiento de los procesos. En el presente artículo se recoge el detalle sobre el Lookup.

Es una transformación con la función de comparar dos flujos de datos, uno de entrada y otro contenido en una estructura de búsqueda (tabla o fichero plano), en base a una o varias condiciones preestablecidas, y su objetivo es devolver los datos de búsqueda coincidentes; un parámetro por defecto o null en caso contrario.

Se define como transformación pasiva, es decir, el número de registros que entran y salen es siempre el mismo. Cuando para un registro de entrada existen varias coincidencias de búsqueda, permite la posibilidad de devolver la primera coincidencia, la última o error; configurado previamente.

Estas coincidencias de búsqueda se rigen por seis posibles comparaciones: menor “<”, menor o igual “<=”, mayor “>”, mayor o igual “>=”, distinto “!=” o igual “=”.

A la hora de implementar la transformación es importante conocer dónde se debe situar ésta en el proceso, bien como un objeto en la trayectoria del flujo de datos o ajena a éste (sin conectar); dependiendo de su finalidad.

  • Conectado

Tiene enlaces con otras transformaciones y permite devolver uno o más campos por registro, usar caché estática o dinámica y establecer valores por defecto de usuario (sólo aplicable a búsqueda no coincidente con caché estática).

Se emplea cuando es invocado una sola vez en el proceso o cuando se requieren varios campos de vuelta tras la búsqueda.

  • Desconectado

No tiene enlaces con otras transformaciones, es llamado desde otra transformación que soporte expresiones, y permite devolver un único campo por registro; usa caché estática.

Se emplea cuando es invocado más de una vez en el proceso o cuando no se llama para todos los registros.

Además de ambas tipologías, éstas se desglosan en subtipos en función de la caché.

  • Con caché

Los datos de la estructura de búsqueda se almacenan en el buffer mediante una única consulta; mejora el rendimiento.

·    Persistente/No persistente

Se emplea caché persistente cuando los datos de la estructura de búsqueda son estáticos; la caché se genera una única vez. En caso contrario, se genera en cada ejecución del proceso.

·    Estática/Dinámica

Por defecto, una caché es estática. Es decir, ésta no varía durante la ejecución del proceso.

Se emplea caché dinámica para actualizar la caché durante la ejecución; sólo aplicable a Lookup conectado. Si la estructura de búsqueda corresponde con la estructura de carga del proceso, puede resultar de utilidad actualizar la caché con el flujo de datos insertado en cada instante.

  • Sin caché

Los datos de la estructura de búsqueda no se almacenan en el buffer; cada vez que se requiere acceder a ésta se realiza una consulta.

Cabe mencionar la posibilidad de sobrescribir la SQL que realiza el Lookup a la estructura de búsqueda, cuando ésta es una tabla, con el fin de filtrar y/o agrupar los datos; así se evita consultar información redundante y almacenar ésta en la caché.

En conclusión, el Lookup muestra diferentes métodos de implementación en función de los requisitos y necesidades, por lo que es primordial estudiar en detalle el objetivo del proceso y seleccionar la transformación idónea en cada ocasión.