ETL con IBM DataStage

Por Miguel Barrio
Developer de OpenSistemas

En el mundo del “Big Data” existen multitud de tecnologías para tratar grandes volúmenes de información, entre ellas se encuentran las denominadas ETL: Extract-Transform-Load, cuyo propósito principal es extraer datos de los entornos operacionales para manipularlos convenientemente y cargarlos en entornos analíticos o datawarehouse. Una de las herramientas comerciales más representativas, y la que finalmente ha resultado ganadora para su implantación en la AEAT, es IBM DataStage, parte de la “suite” InfoSphere Information Server.

Como muchos de los productos de IBM, resulta una herramienta ciertamente incómoda de administrar, y el hecho de que no sea la más ampliamente utilizada dificulta la obtención de soporte, ejemplos y documentación por parte de la comunidad de usuarios. No obstante, una vez entendemos su forma de funcionar, y ajustados los parámetros de la máquina y sistema operativo donde se ejecuta, es posible alcanzar un rendimiento (y éste es su principal punto fuerte) que supera con creces el resto de alternativas del mercado. Teniendo esto en cuenta, resulta sorprendente el bajo consumo de memoria principal que requiere para funcionar.

DataStage dispone de un diseñador gráfico de procesos ETL con una paleta de transformaciones bastante completa, pero aún en el caso de echar en falta algo dispone de una API para programar cómodamente tus propias transformaciones en C++ o Java. Así mismo dispone de herramientas de depuración, permitiendo observar el flujo de datos allí donde sea necesario. En versiones recientes, IBM ha incorporado además una cómoda consola Web desde la cual podemos monitorizar las

ejecuciones de los trabajos, así como pararlos o arrancarlos si se disponen de los permisos necesarios. La “suite” InfoSphere se completa con herramientas para el análisis de calidad de datos y la gestión de la metadata.

Se trata en definitiva de un producto áspero en su uso pero con gran capacidad de proceso, muy adecuado para, como el caso que nos ocupa, tratar grandes volúmenes de datos.