Datavin3

Construye y despliega 8: Actualización y reejecución de tu proyecto Apache Hop

Escrito por Adalennis Buchillón Soris | 20 de noviembre de 2024 8:38:52 Z

¡Bienvenido de nuevo al último post de nuestra serie "Construye y despliega"! En esta publicación, reuniremos todo lo aprendido actualizando uno de los pipelines de "Construye y despliega 2", volviendo a ejecutar el workflow y explorando varias formas de ejecutarlo: usando la interfaz gráfica (GUI), Hop Run y Docker. También haremos un resumen de toda la serie para ayudarte a consolidar tu comprensión de las principales funcionalidades de Apache Hop.

¡Iniciemos los últimos pasos de nuestra serie "Contruye y despliega"!

Actualización del pipeline clean-transform.hpl

En "Construye y despliega 2", creamos dos pipelines: uno para limpiar y transformar datos de vuelos, y otro para agregarlos.

Revisemos el pipeline 1: clean-transform.hpl y hagamos una pequeña actualización para mejorar su funcionalidad.

Paso a paso

Paso 1: Agrega un nuevo campo para capturar retrasos:

  • Abre el pipeline clean-transform en la GUI de Hop.
  • Añade un nuevo campo llamado TotalDelayMinutes en el transformador Calculator, sumando los campos de retraso de salida y llegada (DepDelayMinutes + ArrDelayMinutes).

Paso 2: Actualiza la lógica de JavaScript:

  • Abre el transformador JavaScript.
  • Modifica el código JavaScript existente para verificar si el retraso total supera un umbral específico (por ejemplo, 60 minutos) y marca el vuelo como "SeverelyDelayed" para análisis posterior.

Ejemplo de script:

javascript
var SeverelyDelayed;
if (TotalDelayMinutes > 60){
SeverelyDelayed = 'Yes';
} else {
SeverelyDelayed = 'No';
}

Paso 3: Agrega los campos de salida y guarda:

  • Añade los dos nuevos campos al transformador de salida Text File.
  • Guarda tu pipeline actualizado con el mismo nombre o como una nueva versión para preservar el original.

Agregar los cambios a Git

Antes de volver a ejecutar el workflow, sigue estos pasos para agregar tus cambios a Git:

  1. Abre la perspectiva del explorador de archivos: Presiona CTRL + Shift + E (o haz clic en el icono de la carpeta). Los archivos modificados aparecerán resaltados en azul.
  2. Agrega cambios: Selecciona Git Add para incluir tus cambios.
  3. Confirma cambios: Haz clic en Git Commit en la barra de herramientas.
  4. Confirma los archivos para el commit.
  5. Escribe un mensaje descriptivo y confirma el commit. Los archivos cambiarán a un color neutro.
  6. Sube los cambios: Haz clic en Git Push, ingresa tus credenciales y recibirás un mensaje de confirmación.

Volver a ejecutar el workflow usando diferentes métodos

Con la actualización de Pipeline 1, volvamos a ejecutar el workflow completo usando tres métodos: GUI, Hop Run y Docker.

  1. Ejecutar el workflow en la GUI de Hop:

    • Abre el workflow flights-processing creado en Construye y despliega 2.
    • Verifica que el workflow esté vinculado a la versión actualizada de Pipeline 1 y asegúrate de que la secuencia de ejecución sea correcta.
    • Haz clic en Start para ejecutar el workflow en la GUI, asegurándote de que ambos pipelines se ejecuten exitosamente, con Pipeline 2 utilizando el nuevo campo SeverelyDelayed para la agregación.
    • Resultado: Verás los registros del workflow y su estado directamente en la GUI.
  2. Ejecutar el workflow usando Hop Run:

    • Usa la herramienta hop-run para ejecutar el workflow desde la línea de comandos.
    • Comando para Windows:
      bash
      cd /ruta/a/tu/directorio-de-apache-hop
      hop-run.bat -j my-hop-project -f C:/ruta/a/mi-hop-project/code/flights-processing.hwf -r local -l=BASIC
    • Comando para macOS/Linux:
      bash
      cd /ruta/a/tu/directorio-de-apache-hop
      ./hop-run.sh -j my-hop-project -f /ruta/a/mi-hop-project/code/flights-processing.hwf -r local -l=BASIC
    • Desglose del comando:
      • -j my-hop-project: Especifica el proyecto donde está el workflow.
      • -f <ruta>: Especifica la ruta del archivo del workflow (.hwf).
      • -r local: Indica que Hop Run debe usar la configuración de ejecución local.
      • -l=BASIC: Establece el nivel de registro en Basic para monitorear la ejecución.
    • Resultado: El workflow se ejecuta desde el terminal con los registros mostrados según el nivel de detalle especificado.
  3. Ejecutar el workflow en Docker:

    • Si usas Docker para ejecutar proyectos Hop, aquí tienes cómo ejecutar el workflow:
      bash
      docker run -it --rm \
      --env HOP_LOG_LEVEL=Basic \
      --env HOP_FILE_PATH='${PROJECT_HOME}/code/flights-processing.hwf' \
      --env HOP_PROJECT_FOLDER=/files \
      --env HOP_PROJECT_NAME=my-hop-project \
      --env HOP_RUN_CONFIG=local \
      --name hop-workflow-container \
      -v /ruta/a/mi-hop-project:/files \
      apache/hop:latest
    • Desglose del comando:
      • --env HOP_LOG_LEVEL=Basic: Establece el nivel de registro en Basic.
      • --env HOP_FILE_PATH='${PROJECT_HOME}/code/flights-processing.hwf': Especifica la ruta del archivo del pipeline.
      • --env HOP_PROJECT_FOLDER=/files: Asigna la carpeta del proyecto dentro del contenedor.
      • --env HOP_PROJECT_NAME=my-hop-project: Define el proyecto en Apache Hop.
      • -v /ruta/a/mi-hop-project:/files: Asigna la carpeta de proyecto local al contenedor.
    • Resultado: El workflow se ejecuta dentro del contenedor Docker.

Resumen de la serie "Construye y despliega"

Al concluir la serie, hagamos un repaso de los pasos y lecciones clave de cada publicación:

  1. Construye y despliega 1: Instalación, primer proyecto y entorno.
  2. Construye y despliega 2: Desarrollo de pipelines en un workflow.
  3. Construye y despliega 3: Gestión del proyecto Apache Hop con integración Git.
  4. Construye y despliega 4: Actualización de Apache Hop sin perder configuraciones.
  5. Construye y despliega 5: Primer proyecto y entorno usando Hop Conf.
  6. Construye y despliega 6: Ejecución de pipelines y workflows con Hop Run.
  7. Construye y despliega 7: Ejecución de pipelines y workflows en Docker.
  8. Construye y despliega 8: Actualización y reejecución del proyecto.

Conclusión

Con esto concluye nuestra serie "Construye y despliega" para Apache Hop. Hemos cubierto desde la configuración inicial hasta el desarrollo de pipelines, la gestión de proyectos con Git, la actualización de Hop y la ejecución de workflows en diferentes entornos. Con estas habilidades, ahora estás preparado para construir, gestionar y desplegar workflows y pipelines complejos de datos usando Apache Hop en una variedad de entornos.