Debug con Oracle Data Integrator 12c
28/01/2014 -
Entre las novedades que más nos han llamado la atención de ODI 12c está la incorporación de la capacidad de debugar (añorada en alguna ocasión por los que hemos trabajado con OWB, que contaba con ella). ODI 12c permite depurar la ejecución de los siguientes elementos: mappings, escenarios, procesos y paquetes, sobre el esquema (blueprint) de la sesión en ejecución.
Podemos tener varias sesiones en ejecución a la vez, pero “sólo” podremos depurar una de ellas (aunque podremos conectarnos a cualquier sesión en ejecución o reiniciar una finalizada), así como lanzar una nueva sesión de cualquiera de los objetos mencionados desde diferentes puntos de ODI Studio, y lógicamente, habrá algunas diferencias entre las opciones de cada uno de ellos (p.ej. dónde establecer un breakpoint).
La imagen a continuación corresponde a una captura de pantalla de la depuración de un sencillo mapping de carga de un fichero de texto en el filesystem a una tabla.
Si nos fijamos en la barra de herramientas del depurador, encontraremos las funciones típicas (iniciar, ejecutar, ejecutar un paso, hasta el siguiente paso, hasta el final, … establecer breakpoint) que se irán activando y desactivando según el contexto y estado de la ejecución y que nos permitirán desplazarnos rápidamente y de manera visual hasta el paso que intuyamos conflictivo.
En la siguiente captura, un ejemplo de clicar el botón “Get Data” que se habilita durante la ejecución de los pasos de acceso a datos y que recupera en la pestaña “Debug Data”, en la parte inferior, las sentencias SQL que ejecutará el paso (tanto en la fuente de datos origen como en la de destino), donde tendremos la posibilidad de editarlas y ejecutar el código modificado. De manera similar, podemos también inspeccionar los valores de las variables y los hilos en ejecución, en las otras pestañas.
También es interesante saber que, además de iniciar sesiones de depuración en el propio Studio (sin agente), también podremos depurar sesiones sobre cualquiera de los agentes de nuestra topología al conectarnos a una sesión en ejecución.
Acabaremos el post con una pequeña reflexión: aunque es una buena noticia la incorporación del debug, no debemos descuidar el correcto diseño y validación de los procesos antes de abordar los proyectos de ETL, así como la ejecución del perfilado de datos (bien sea manualmente, bien sea mediante las opciones de Data Quality disponibles para Oracle Data Integrator).