Descubre la función de registro de flujo de trabajo de Apache Hop para un procesamiento de datos eficiente. Descubre ideas y mejores prácticas en esta guía.
Apache Hop cambia la forma en que se manejan los datos y metadatos al establecer un límite claro entre ellos. Esta separación te permite diseñar procesos de datos de forma autónoma respecto a los datos reales. Centralizando metadatos esenciales como conexiones de bases de datos, configuraciones de ejecución, servidores, conjuntos de datos y más, el Metadato de Apache Hop actúa como un centro para metadatos compartidos. Una función invaluable, el "Registro de Flujo de Trabajo", permite el registro sin problemas de actividades de flujo de trabajo en conexión con pipelines.
El objeto de metadatos "Registro de Flujo de Trabajo" transmite información de registro de un flujo de trabajo en ejecución a un pipeline y se crea en formato JSON. Para cada objeto de metadatos de este tipo, puedes ejecutar un pipeline de tu elección, pasando la información de tiempo de ejecución de todos tus flujos de trabajo.
Para configurar y usar el metadato del "Registro de Flujo de Trabajo", sigue estos pasos:
En el menú horizontal, haz clic en "Nuevo" -> "Registro de Flujo de Trabajo".
O ve a "Metadatos" -> "Registro de Flujo de Trabajo" -> "Nuevo".
Completa los campos requeridos:
Nombre (Name): Proporciona un nombre para el objeto de metadatos (workflows-logging).
Activado (Enabled): Marca esta opción para activar el registro.
Registrar solo flujos de trabajo principales (Logging parent workflows only): Esta opción no está marcada en nuestro ejemplo proporcionado. Especifica si el registro de flujo de trabajo debe capturar y procesar información de registro solo para los flujos de trabajo principales (el flujo de trabajo que se está ejecutando), o si también debe capturar y procesar información de registro para sub-flujos de trabajo que pueden ejecutarse como parte del flujo de trabajo principal.
Pipeline ejecutado para capturar el registro (Pipeline executed to capture logging): Selecciona o crea el pipeline que procesa la información de registro para este "Registro de Flujo de Trabajo". Especifica el directorio del pipeline (${PROJECT_HOME}/hop/logging/flujos-logging.hpl). Detallaremos esto en el segundo paso.
¿Ejecutar al inicio del flujo de trabajo? (Execute at the start of the workflow?): Esta opción permanece seleccionada en nuestro ejemplo proporcionado. La opción especifica si este registro de flujo de trabajo debe ejecutarse al inicio de una ejecución de flujo de trabajo. Si se establece en verdadero, el registro comenzará al principio de la ejecución del flujo de trabajo.
¿Ejecutar al final del flujo de trabajo? (Execute at the end of the workflow?): Mantenemos esto seleccionado en nuestro ejemplo. Determina si este registro de flujo de trabajo debe ejecutarse al final de una ejecución de flujo de trabajo. Si se establece en verdadero, el registro ocurrirá una vez que el flujo de trabajo haya completado su ejecución.
¿Ejecutar periódicamente durante la ejecución? (Execute periodically during execution?): Dejamos esto sin marcar. Indica si este registro de flujo de trabajo debe ejecutarse a intervalos regulares durante una ejecución de flujo de trabajo. Si se establece en verdadero, el registro se ejecutará periódicamente.
Intervalo en segundos (Interval in seconds): Especifica el intervalo, en segundos, en el que se ejecuta el registro de flujo de trabajo si "Ejecutar periódicamente durante la ejecución" está establecido en verdadero. El registro de flujo de trabajo se activará en este intervalo especificado durante la ejecución del flujo de trabajo.
💡 Consejo: Por defecto, el registro de flujos de trabajo se aplica a todos los flujos de trabajo en el proyecto actual. Sin embargo, si prefieres limitar el registro a flujos de trabajo específicos, puedes seleccionarlos en la tabla debajo de las opciones de configuración etiquetadas como Capturar salida de los siguientes flujos de trabajo (Capture output of the following workflows). En la captura de pantalla debajo, solo el flujo de trabajo main-read.hwf está seleccionado para el registro en el proyecto how-to-apache-hop.
Guarda la configuración.
Crea un nuevo pipeline desde la opción "Nuevo" en el diálogo de "Registro de Flujo de Trabajo" eligiendo una carpeta y un nombre.
El pipeline se genera automáticamente con un transformador de "Registro de Flujo de Trabajo" conectado a un transformador "Dummy" ("Guardar registro aquí"). Ahora configuraremos otra salida para este pipeline. También puedes crear el pipeline desde cero.
Configura el transformador de "Registro de Flujo de Trabajo":
Nombre del transformador (Transform name): Proporciona un nombre único para el transformador (worklog).
También registrar detalles de acción (Also log action details): Mantenemos esta opción marcada.
Haz clic en cualquier lugar del lienzo del pipeline.
Busca 'salida de tabla' -> Salida de Tabla.
Configura el transformador de "Salida de Tabla":
Ejecuta las declaraciones SQL y verifica los campos de registro en la tabla creada.
Guarda y cierra el transformador.
Inicia un flujo de trabajo haciendo clic en "Ejecutar" -> "Lanzar".
Usamos un flujo de trabajo principal (main-read.hwf) que ejecuta 3 pipelines. Cada pipeline carga una entidad en una base de datos MongoDB. Consulta la publicación Migra datos a MongoDB con Apache Hop.
Los datos de ejecución del flujo de trabajo y de cada acción se registrarán en la tabla de registro de flujos. La ejecución de los pipelines incluidos en el flujo de trabajo se registrará en la tabla "registro de pipelines". Consulta la publicación previa Comprende y Utiliza del Registro de Pipeline en Apache Hop.
Revisa los datos en la tabla "piplog" y la tabla "worklog" para revisar los registros.
Configurar el "Registro de Flujo de Trabajo" es muy sencillo, ofreciendo la opción de activarse al inicio o al final del flujo de trabajo (incluidos los pipelines y flujos de trabajo ejecutados dentro). Además, permite la ejecución periódica, proporcionando estrategias de registro adaptadas a los requisitos del proyecto. La flexibilidad para definir el intervalo de ejecución agrega una capa adicional de personalización.
En resumen, el "Registro de Flujo de Trabajo" de Apache Hop es un instrumento fundamental para el registro eficiente dentro de los flujos de trabajo de procesamiento de datos. Su naturaleza configurable y su integración perfecta en el ecosistema de Apache Hop lo convierten en un activo invaluable para los ingenieros de datos y desarrolladores que buscan elevar las capacidades de registro y mantener procesos de datos resilientes. Con la clara segregación de datos y metadatos y enriquecido con funciones robustas como el "Registro de Flujo de Trabajo", Apache Hop se consolida como líder para la integración y procesamiento de datos eficiente y efectivo.