Apache Hop permite a los ingenieros y desarrolladores de datos diseñar visualmente flujos de trabajo y pipelines de datos para construir soluciones avanzadas.
Después de que tu proyecto haya pasado por las etapas iniciales de desarrollo y pruebas, es fundamental conocer qué sucede en tiempo de ejecución.
La función Pipeline Log de Apache Hop permite registrar la actividad de un pipeline dentro de otro pipeline. Un Pipeline Log transmite información de registro de un pipeline en ejecución a otro pipeline. El Pipeline Log se generará en formato JSON.
Apache Hop pasará la información de registro de cada pipeline que ejecutes al pipeline o pipelines especificados como objetos de metadatos de registro. En este artículo, veremos un ejemplo de cómo configurar y utilizar el metadato pipeline log para escribir información de registro en una base de datos relacional.
Los ejemplos aquí usan variables para separar código y configuración, siguiendo las mejores prácticas en proyectos de Apache Hop.
Para crear un Pipeline Log, haz clic en New -> Pipeline Log o selecciona Metadata -> Pipeline Log.
El sistema mostrará la vista New Pipeline Log con los siguientes campos para configurar:
Ejemplo de configuración:
El único requisito es que el pipeline debe comenzar con un Pipeline Logging Transform como primer paso para garantizar la captura y el procesamiento adecuados de los registros.
El registro periódico es útil para monitorear pipelines de larga duración. En este ejemplo, está deshabilitado porque no se requieren registros periódicos. Si se habilita, elige un intervalo adecuado para equilibrar la visibilidad en tiempo real con el rendimiento del sistema.
Finalmente, guarda el Pipeline Log metadata.
El Pipeline Logging se aplicará a cualquier pipeline que ejecutes en el proyecto actual. Sin embargo, si deseas registrar solo pipelines específicos, puedes agregarlos en la tabla debajo de las opciones de configuración (Capture output of the following pipelines).
Para crear el pipeline, haz clic en New en el cuadro de diálogo New Pipeline Log. Luego, elige una carpeta y un nombre para el pipeline.
Nota: Usar el botón New en el diálogo Pipeline Log garantiza que el transform Pipeline Logging se incluya automáticamente. Si creas un pipeline manualmente, debes agregar el transform Pipeline Logging como primer paso para capturar correctamente los registros.
Desde el cuadro de diálogo New Pipeline Log, se creará automáticamente un nuevo pipeline con un Pipeline Logging transform conectado a un Dummy transform (Save logging here).
Abre el transform y establece los valores según el siguiente ejemplo:
El Table Output transform permite cargar datos en una tabla de base de datos. Equivale al operador INSERT en SQL. Este transform proporciona opciones de configuración para la tabla de destino y ajustes relacionados con el rendimiento, como Commit Size y Use batch update for inserts.
TIP: En este ejemplo, usaremos una conexión a base de datos relacional para el registro, pero también puedes usar archivos de salida. Si decides usar una base de datos, verifica su instalación y disponibilidad como requisito previo.
Para agregar el transform Table Output, haz clic en cualquier parte del lienzo del pipeline y luego busca Table Output.
Ahora, abre el transform y configura los siguientes valores:
Haz clic en SQL para generar automáticamente el SQL necesario para crear la tabla de salida.
Luego, ejecuta las sentencias SQL.
Abre la tabla creada en tu explorador de base de datos favorito (por ejemplo, DBeaver) para ver todos los campos de registro.
La tabla de registros incluye campos como:
Para más información, consulta la documentación de Apache Hop.
Finalmente, cierra y guarda el pipeline.
Ejecuta un pipeline haciendo clic en Run -> Launch. En este caso, usamos el pipeline clean-transform.hpl desde my-hop-project.
Los datos de la ejecución del pipeline se registrarán en la tabla pipelines-logging.
Abre la tabla pipelines-logging en la base de datos y revisa los registros generados.