Saltar al contenido

El Poder de los Metadatos en Apache Hop: Una Guía Completa I

Desbloquea el poder de los objetos de metadatos en Apache Hop y revoluciona tus projectos de integración de datos.

Introducción

En Apache Hop, los objetos de metadatos se utilizan para almacenar y gestionar información sobre las fuentes de datos, los destinos y otros componentes de un proceso de integración de datos. Los objetos de metadatos sirven como un repositorio central para la configuración y la información de conexión que se puede compartir en diferentes (pipelines) canalizaciones y (workflows) flujos de trabajo, lo que facilita la gestión y el mantenimiento de procesos complejos de integración de datos.

Existen muchos tipos diferentes de objetos de metadatos en Apache Hop, que incluyen (database connections) conexiones de bases de datos, (file formats) formatos de archivo, (file definitions) definiciones de archivos, (run configurations) configuraciones de ejecución, etc. Estos objetos se definen utilizando la interfaz gráfica de usuario de Hop (Hop GUI), que permite a los usuarios crear, editar y gestionar objetos de metadatos sin necesidad de escribir ningún código.

Metadata in Apache Hop

Uno de los principales beneficios de utilizar objetos de metadatos en Apache Hop es que permiten a los usuarios definir y gestionar conexiones a una amplia variedad de fuentes de datos y destinos, incluyendo bases de datos, sistemas de archivos y más. Esto facilita la integración de datos procedentes de diferentes fuentes y la realización de tareas complejas de canalizaciones y procesamiento de datos.

Aquí tienes un resumen de los temas que se tratarán en la publicación sobre objetos de metadatos en Apache Hop:

  • La importancia de los objetos de metadatos en Apache Hop para (workflows) flujos de trabajo y (pipelines).

  • Los diferentes tipos de objetos de metadatos disponibles en Apache Hop, las relaciones/dependencias entre algunos de ellos y sus casos de uso.

  • Los beneficios de utilizar objetos de metadatos en Apache Hop para el procesamiento de datos, la colaboración y la eficiencia.

  • Instrucciones paso a paso y capturas de pantalla para crear y gestionar algunos objetos de metadatos utilizando la interfaz gráfica de usuario de Apache Hop.

  • Mejores prácticas para utilizar objetos de metadatos en Apache Hop y optimizar (workflows) flujos de trabajo de integración de datos.

Al final de la publicación, los lectores deberían tener una comprensión completa de qué son los objetos de metadatos, sus beneficios, cómo crearlos y gestionarlos en Apache Hop, y las mejores prácticas para utilizarlos de manera efectiva en (workflows) flujos de trabajo de integración de datos.

Cómo Crear y Gestionar Objetos de Metadatos en Apache Hop

Existen varias formas de crear y gestionar objetos de metadatos mediante la interfaz gráfica de usuario de Apache Hop (Hop GUI). Dependerá del tipo de metadatos, pero en esta publicación, cubriremos dos de ellas.

Primera

  1. Abre el Apache Hop GUI y selecciona la (Metadata) perspectiva de Metadatos.

    Apache Hop - Metadata perspective

  2. Selecciona un tipo de objeto de metadatos y haz clic en el botón (New) Nuevo.

  3. Rellena los detalles del objeto de metadatos, como los detalles de conexión para una (database connections) conneción de base de datos o la (file definition) definición de archivo.

  4. Haz clic en (OK) Aceptar para guardar el objeto de metadatos.

 
Segunda
  1. Abre la interfaz gráfica de usuario de Apache Hop y haz clic en Hop->New o en el botón (New) Nuevo visible en el menú horizontal.

    Apache Hop - Menu actions
  2. Selecciona el tipo de objeto de metadatos que deseas crear en el menú contextual. Esto te llevará a la (Metadata) perspectiva de Metadatos y se abrirá el diálogo con los campos que deben completarse.

    Apache Hop - Menu actions-1

     

  3. Completa los detalles del objeto de metadatos, como los detalles de conexión para una (database connections) conneción de base de datos o la (file definition) definición de archivo.

  4. Haz clic en (OK) Aceptar para guardar el objeto de metadatos.

Una vez que hayas creado un objeto de metadatos, puedes utilizarlo en tus (workflows) flujos de trabajo y (pipelines) canalizaciones haciendo referencia a él en la (action) acción o (transform) transformación adecuada.

Para gestionar los objetos de metadatos, puedes utilizar la perspectiva de Metadatos para ver, editar o eliminar objetos existentes.

Tipos de Metadatos en Apache Hop

Apache Hop proporciona una variedad de objetos de metadatos que los usuarios pueden crear y gestionar para optimizar el proceso de integración de datos. Hasta ahora (Apache Hop 2.4), los tipos de objetos de metadatos en Apache Hop son:

  1. Pipeline Run Configuration (Configuración de Ejecución de Canalización)
  2. Execution Information Location (Ubicación de la Información de Ejecución)

  3. Execution Data Profile (Perfil de Datos de Ejecución)

  4. Workflow Run Configuration (Configuración de Ejecución de Flujo de Trabajo)

  5. Pipeline Log (Registro de Pipeline)

  6. Workflow Log (Registro de Flujo de Trabajo)

  7. Pipeline Probe (Sonda de Pipeline)

  8. Pipeline Unit Test (Prueba Unitaria de Pipeline)

  9. Data Set (Conjunto de Datos)

  10. Beam File Definition (Definición de Archivo Beam)

  11. Relational Database Connection (Conexión a Base de Datos Relacional)

  12. Neo4j Connection (Conexión a Neo4j)

  13. Neo4j Graph Model (Modelo de Gráfico de Neo4j)

  14. MongoDB Connection (Conexión a MongoDB)

  15. Cassandra Connection (Conexión a Cassandra)

  16. Splunk Connection (Conexión a Splunk)

  17. Partition Schema (Esquema de Partición)

  18. Hop Server (Servidor Hop)

  19. Web Service (Servicio Web)

  20. Asynchronous Web Service (Servicio Web Asincrónico)

Nota: En este post, los nombres de los principales términos técnicos se mantendrán en inglés y en español para facilitar su comprensión y referencia en la documentación oficial.

Si, hay varios objetos de metadatos que debemos cubrir, lo cual es una excelente noticia. No hay necesidad de preocuparse, ya que te guiaremos a través de cada uno de ellos, proporcionaremos ejemplos y aclararemos las dependencias entre algunos de ellos. Este es el primero de dos posts donde cubriremos todos los objetos de metadatos actuales en Apache Hop. Este primer post incluirá los siguientes objetos de metadatos:

  1. Pipeline Run Configuration (Configuración de Ejecución de Canalización)

  2. Execution Information Location (Ubicación de la Información de Ejecución)

  3. Execution Data Profile (Perfil de Datos de Ejecución)

  4. Workflow Run Configuration (Configuración de Ejecución de Flujo de Trabajo)

  5. Pipeline Log (Registro de Pipeline)

  6. Workflow Log (Registro de Flujo de Trabajo)

  7. Pipeline Probe (Sonda de Pipeline)

  8. Pipeline Unit Test (Prueba Unitaria de Pipeline)

  9. Data Set (Conjunto de Datos)

  10. Beam File Definition (Definición de Archivo Beam)

Pipeline Run Configuration

El objeto de metadatos (Pipeline Run Configuration) Configuración de Ejecución de la Canalización en Apache Hop proporciona una forma de especificar y almacenar configuraciones de tiempo de ejecución para las (pieplines) canalizaciones. Estas configuraciones incluyen la selección de otros objetos de metadatos previamente configurados o la creación de nuevos objetos: la (Execution Information Location) Ubicación de la Información de Ejecución y el (Execution Data Profile) Perfil de Datos de Ejecución. El usuario también debe especificar el motor de tiempo de ejecución a utilizar.

Apache Hop - Pipeline Run Configuration

 

  • La (Execution Information Location) Ubicación de la Información de Ejecución determina a dónde Apache Hop puede enviar la información de ejecución. Esta información se puede acceder desde la (Execution Information Perspective) Perspectiva de Información de Ejecución después de la ejecución.

    Apache Hop - local-audit

     

  • La función (Execution Data Profile) Perfil de Datos de Ejecución genera perfiles de datos para los datos que pasan a través de las (pipelines) canalizaciones. Los usuarios pueden elegir entre una variedad de perfiles de datos y configurarlos para controlar el tipo y nivel de detalle del perfil de datos.

  • A continuación, se enumeran los (pipelines engines) motores de canalización disponibles. Los detalles de configuración variarán según el motor seleccionado.

Execution Information Location

Como mencionamos anteriormente, el objeto de metadatos (Execution Information Location) Ubicación de la Información de Ejecución permite a los usuarios especificar la ubicación para la información de ejecución relacionada con una (pipeline) canalización o (workflow) flujo de trabajo. Esto puede incluir información como el estado de ejecución, las horas de inicio y fin, y los mensajes de error. Por defecto, Apache Hop almacena la información de ejecución en la memoria, pero los usuarios pueden optar por almacenar esta información en una variedad de ubicaciones, incluyendo un archivo, un Neo4j o una ubicación remota.

Apache Hop - Execution Information Location

 

  • (Data logging delay (ms)) Retraso en el registro de datos (ms): especifica el retraso para el registro.
  • (Data logging interval (ms)) Intervalo de registro de datos (ms): especifica un intervalo de tiempo para los registros.
  • (Location type) Tipo de ubicación: el tipo de ubicación puede ser (File location) Ubicación de archivo, (Neo4j location) Ubicación de Neo4j o (Remote location) Ubicación remota. Dependiendo del tipo de ubicación, deberás especificar campos adicionales diferentes.

La capacidad de especificar la ubicación de la información de ejecución es importante por varias razones. En primer lugar, permite a los usuarios almacenar la información de ejecución en una ubicación más persistente y accesible, lo que puede ser útil para fines de depuración y monitoreo. En segundo lugar, permite a los usuarios compartir fácilmente la información de ejecución entre varios sistemas o entornos. Finalmente, proporciona una forma de automatizar el procesamiento de la información de ejecución, como desencadenar alertas o notificaciones en función de eventos específicos.

La información de ejecución se puede verificar desde la (Execution Information Perspective) Perspectiva de Información de Ejecución. La (Execution Information Perspective) Perspectiva de Información de Ejecución proporciona un resumen de los detalles de la ejecución de (workflows) flujos de trabajo y (pipelines) canalizaciones que se han ejecutado previamente. Con esta perspectiva, puedes explorar la lista de ejecuciones y navegar entre (workflows) flujos de trabajo y/o (pipelines) canalizaciones principales e hijas. Esta perspectiva también ofrece detalles sobre el estado de la ejecución, información de registro, métricas de la (pipeline) canalización y perfiles de datos.

Apache Hop - local-audit copy

 

Execution Data Profile

Como se mencionó anteriormente, el objeto de metadatos (Execution Data Profile) Perfil de Datos de Ejecución en Apache Hop se utiliza para almacenar y gestionar los resultados del perfil de datos para una ejecución específica de una (pipeline) canalización. El perfil incluye información sobre la ejecución, como la fecha y hora en que se ejecutó, el usuario que la ejecutó y cualquier parámetro o variable que se utilizó.

Execution Data Profile

 

  • El usuario puede elegir entre 4 muestreadores de datos para usar::
    • (Data profile output rows) Filas de salida del perfil de datos: se puede realizar un perfil de datos básico en las filas de salida de una (transform) transformación.
    • (First output rows) Primeras filas de salida: la salida de la transformación se muestrea seleccionando las primeras filas.
    • (Last output rows) Últimas filas de salida: la salida de la transformación se muestrea seleccionando las últimas filas.
    • (Random output rows) Filas de salida aleatorias: se realiza un muestreo de reserva en las filas de salida de una transformación.

Los resultados de perfilado de datos almacenados en el perfil incluyen estadísticas como el número de valores nulos, los valores mínimos y máximos, y el promedio y la desviación estándar para cada columna de los datos de entrada. El perfil también incluye histogramas para cada columna, que proporcionan una representación visual de la distribución de los datos.

El (Execution Data Profile) Perfil de Datos de Ejecución es útil para obtener información sobre la calidad de los datos que se están procesando e identificar posibles problemas que deben abordarse. Se puede utilizar para monitorear la calidad de los datos a lo largo del tiempo y realizar un seguimiento de los cambios en los datos.

Workflow Run Configuration

El objeto de metadatos de (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo en Apache Hop permite a los usuarios definir la configuración para la ejecución de un (workflow) flujo de trabajo. Este objeto de metadatos es similar a la (Pipeline Run Configuration) Configuración de Ejecución de Canalización y brinda a los usuarios la capacidad de establecer y administrar parámetros y variables de tiempo de ejecución para un (workflow) flujo de trabajo, en este caso, lo que puede ayudar a agilizar y automatizar la ejecución de procesos de integración de datos.

Al utilizar la (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo, los usuarios pueden centralizar la gestión de la configuración de tiempo de ejecución de sus (workflows) flujos de trabajo, lo que facilita el mantenimiento y la actualización de procesos de integración de datos. Este objeto de metadatos puede ser particularmente útil en (workflows) flujos de trabajo grandes y complejos que requieren opciones de configuración y personalización afinadas.

El siguiente cuadro permite a los usuarios configurar una (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo:

Apache Hop - Workflow Run Configuration
 
  • El usuario puede marcarlo como la (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo que se utilizará de forma predeterminada.

  • Como mencionamos anteriormente, la (Execution Information Location) Ubicación de la Información de Ejecución es otro objeto de metadatos que determina el destino al que Apache Hop puede enviar información de ejecución. Una vez que se completa la ejecución, esta información se puede acceder desde la Perspectiva de Información de Ejecución.

    Apache Hop - local-audit copy 2
 
  • A diferencia de la (Pipeline Run Configuration) Configuración de Ejecución de Canalización, para la ejecución de (workflows) flujos de trabajo, solo hay dos tipos de motores disponibles:

    • (Hop local workflow engine) Motor de flujo de trabajo local de Hop

    • (Hop remote workflow engine) Motor de flujo de trabajo remoto de Hop

Resumen Parcial I

Hasta este punto, hemos cubierto los siguientes 4 tipos de metadatos:
  • (Pipeline Run Configuration) Configuración de Ejecución de Canalización

  • (Execution Information Location) Ubicación de la Información de Ejecución

  • (Execution Data Profile) Perfil de Datos de Ejecución

  • (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo

Observaciones:

  • Los objetos de metadatos de (Pipeline Run Configuration) Configuración de Ejecución de Canalización y (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo describen las condiciones de ejecución de las (pipelines) canalizaciones y (workflows) flujos de trabajo, respectivamente.
  • La (Execution Information Location) Ubicación de la Información de Ejecución desempeña un papel crucial tanto en (Pipeline Run Configuration) Configuración de Ejecución de Canalización como en (Workflow Run Configuration) Configuración de Ejecución de Flujo de Trabajo. Determina el destino al que Apache Hop puede enviar información de ejecución.
  • Por otro lado, (Execution Data Profile) Perfil de Datos de Ejecución se utiliza únicamente en (Pipeline Run Configuration) Configuración de Ejecución de Canalización. Es responsable de crear perfiles de datos mientras los datos fluyen a través de las (pipelines) canalizaciones.

Pipeline Log

El objeto de metadatos (Pipeline Log) Registro de Canalización en Apache Hop almacena información sobre la ejecución de una (pipeline) canalización, incluyendo la hora de inicio, la hora de finalización y la duración de la ejecución de la (pipeline) canalización. También registra la cantidad de filas procesadas y el estado de cada transformación dentro de la (pipeline) canalización.

Este objeto de metadatos se puede utilizar para monitorear el rendimiento de la (pipeline) canalización y detectar posibles problemas, así como para llevar un registro del historial de la (pipeline) canalización y el seguimiento de auditoría. Se puede ver y consultar a través de la (Hop GUI) interfaz gráfica de Hop o acceder programáticamente a través de la API de Hop.

Apache Hop - Pipeline Log
 
  • (Logging parent pipelines only) Registrar solo las (pipelines) canalizaciones principales: El usuario puede marcar esta opción para registrar solo la (pipeline) canalización principal.
  • (Pipeline executed to capture logging) Canalización ejecutada para capturar el registro: Especifique la (pipeline) canalización que procesará la información de registro para este (Pipeline Log) Registro de Canalización. Para crear una (pipeline) canalización con este propósito, puede navegar a la sección de perspectivas o hacer clic en el botón (New) Nuevo en el cuadro de diálogo (New Pipeline Log) Nuevo Registro de Canalización. Luego, elija una carpeta y un nombre para su (pipeline) canalización. Una vez creada, se generará automáticamente una nueva (pipeline) canalización con un transformador de (Pipeline Logging) Registro de Canalización conectado a una transformación (Dummy) Simulado con nombre (Save logging here) Guardar registro aquí. Luego puede modificar la (pipeline) canalización reemplazando la transformación (Dummy) Simulado por el destino que utilizará para el registro.
 
Apache Hop - Pipeline Log copy

  • (Execute at the start of the pipeline?) Ejecutar al inicio de la (pipeline) canalización: Especifique si el Registro de Canalización debe ejecutarse al comienzo de la ejecución de la (pipeline) canalización.
  • (Execute at the end of the pipeline?) Ejecutar al final de la (pipeline) canalización: Indique si el Registro de Canalización debe ejecutarse al final de la ejecución de una (pipeline) canalización.
  • (Execute periodically during execution?) Ejecutar periódicamente durante la ejecución: Indique si el Registro de Canalización debe ejecutarse a intervalos regulares durante la ejecución de una (pipeline) canalización.
  • (Interval in seconds) Intervalo en segundos: Si el Registro de Canalización se ejecuta periódicamente, puede especificar el intervalo en segundos en el que debe ejecutarse.
 

Workflow Log

El objeto de metadatos (Workflow Log) Registro de Flujo de Trabajo en Apache Hop es similar al (Pipeline Log) Registro de Canalización. Es un registro de las actividades y operaciones realizadas durante la ejecución de un (workflow) flujo de trabajo. Almacena información sobre cada acción ejecutada dentro del flujo de trabajo, como la hora de inicio y finalización de cada acción, el estado de la acción y cualquier mensaje de error o advertencia que ocurra durante la ejecución.

El objeto de metadatos (Workflow Log) Registro de Flujo de Trabajo se puede acceder a través de la Perspectiva de Metadatos en Apache Hop y se puede utilizar para solucionar problemas y depurar problemas que puedan surgir durante la ejecución del (workflow) flujo de trabajo. También se puede utilizar para supervisar el rendimiento e identificar posibles áreas de optimización.

Apache Hop - Workflow Log
 
  • (Logging parent workflow only) Registrar solo el flujo de trabajo principal: El usuario puede marcar esta opción para registrar solo el (workflow) flujo de trabajo principal.
  • (Pipeline executed to capture logging) Ejecutar la canalización para capturar el registro: especifique la (pipeline) canalización que procesará la información de registro para este Registro de Flujo de Trabajo. Para crear una (pipeline) canalización con este propósito, puede navegar a la zona de la perspectiva o hacer clic en el botón (New) Nuevo en el cuadro de diálogo (New Pipeline Log) Nuevo Registro de Canalización. Luego puede elegir una carpeta y un nombre para su (pipeline) canalización y una vez creada, se generará automáticamente una nueva (pipeline) canalización con una trasnformación de (Workflow Logging) Registro de Flujo de Trabajo conectado a una transformación (Dummy) Simulado con nombre (Save logging here) Guardar registro aquí. Luego puede modificar la (pipeline) canalización reemplazando la transformación (Dummy) Simulado por el destino que utilizará para el registro.
    Apache Hop - Workflow Log
  • (Execute at the start of the workflow?) ¿Ejecutar al comienzo del flujo de trabajo?: Especifique si el Registro de Flujo de Trabajo debe ejecutarse al comienzo de la ejecución del (workflow) flujo de trabajo.
  • (Execute at the end of the workflow?) ¿Ejecutar al final del flujo de trabajo?: Indique si el Registro de Flujo de Trabajo debe ejecutarse al final de la ejecución del (workflow) flujo de trabajo.
  • (Execute periodically during execution?) ¿Ejecutar periódicamente durante la ejecución?: Indique si el Registro de Flujo de Trabajo debe ejecutarse a intervalos regulares durante la ejecución del (workflow) flujo de trabajo.
  • (Interval in seconds) Intervalo en segundos: Si el Registro de Flujo de Trabajo se ejecuta periódicamente, puede especificar el intervalo en el que debe ejecutarse.

Pipeline Probe

El objeto de metadatos (Pipeline Probe) Probeta de Canalización en Apache Hop es un mecanismo para recuperar metadatos de una (pipeline) canalización sin ejecutarla realmente. Le permite ver y validar metadatos antes de que se ejecute la (pipeline) canalización, lo que ayuda a identificar posibles problemas y errores. Los metadatos recuperados del (Pipeline Probe) Probeta de Canalización se pueden utilizar en pasos posteriores o con fines de depuración.

Para utilizar el (Pipeline Probe) Probeta de Canalización, primero debe definirlo en su (pipeline) canalización. Esto se hace agregando un tipo de metadatos de (Pipeline Probe) Probeta de Canalización a su pipeline, que se encuentra en el Centro de metadatos de la (Hop GUI) interfaz gráfica de usuario de Hop.

Apache Hop - Pipeline Probe
  • (Pipeline executed to capture logging) Pipeline ejecutado para capturar el registro: especifica el pipeline que procesará los datos para esta (Pipeline Probe) Probeta de Canalización.
  • (Capture output of the following transforms) Capturar la salida de las siguientes transformaciones: lista de (pipelines) canalizaciones y transformaciones para registrar información.

Una vez que se define la (Pipeline Probe) Probeta de Canalización, puedes configurar los metadatos que deseas recuperar seleccionando los campos y propiedades relevantes de los metadatos de la (pipeline) canalización. Luego, la (Pipeline Probe) Probeta de Canalización generará una instantánea de metadatos de la (pipeline) canalización según la configuración.

Esta instantánea de metadatos se puede utilizar en pasos posteriores de la (pipeline) canalización o exportarse como un archivo para un análisis o depuración adicionales. La (Pipeline Probe) Probeta de Canalización también se puede utilizar para validar los metadatos de la (pipeline) canalización, lo que ayuda a detectar posibles problemas antes de que se ejecute la (pipeline) canalización.

Pipeline Unit Test

El objeto de metadatos (Pipeline Unit Test) Prueba Unitaria de Canalización en Apache Hop es un tipo de metadatos que permite a los usuarios definir pruebas para sus tuberías. Proporciona una forma fácil y eficiente de probar la funcionalidad y el comportamiento de una tubería al especificar los resultados esperados para ciertas entradas.

Las pruebas unitarias en Apache Hop son una colección de conjuntos de datos de entrada, conjuntos de datos de referencia y varios ajustes que se pueden aplicar a las tuberías antes de la prueba. Estas pruebas permiten a los desarrolladores no solo trabajar de manera orientada a pruebas, sino también realizar pruebas de regresión para asegurarse de que los problemas previamente resueltos permanezcan corregidos.

Para crear una (Pipeline Unit Test) Prueba Unitaria de Canalización, los usuarios pueden especificar los datos de entrada, los datos de salida esperados y cualquier condición o restricción que deba ser probada.

Apache Hop - Pipeline Unit Test

 

  • (Type of test) Tipo de prueba: Especifica el tipo de prueba que se va a realizar.
  • (The pipeline to test) La canalización a probar: Agrega la tubería que se va a someter a prueba.
  • (Base test path (or use HOP_UNIT_TESTS_FOLDER)) Ruta base de la prueba (o usa HOP_UNIT_TESTS_FOLDER): Usa HOP_UNIT_TESTS_FOLDER o especifica un directorio nuevo.
  • El usuario puede marcarlo como la (Pipeline Unit Test) Prueba Unitaria de Canalización para usar por defecto.
  • El usuario puede especificar una lista de conexiones de base de datos en la tubería a probar (DB Original) que serán reemplazadas por conexiones de base de datos en esta prueba unitaria (DB de Reemplazo).
  • Variables: Especifica una lista de nombres y valores de variables a utilizar en esta prueba.

El objeto de metadatos (Pipeline Unit Test) Prueba Unitaria de Canalización se puede asociar con una tubería, lo que permite a los usuarios ejecutar fácilmente las pruebas para esa tubería. Cuando se ejecuta una tubería, Apache Hop verifica automáticamente si existe un objeto de metadatos (Pipeline Unit Test) Prueba Unitaria de Canalización asociado y ejecuta los casos de prueba definidos. Si alguno de los casos de prueba falla, Apache Hop notificará al usuario, indicando cuáles casos de prueba fallaron y la razón del fallo.

Los conjuntos de datos de entrada y salida se clasifican como un tipo de objeto de metadatos distinto, llamado (Data Set) Conjunto de Datos. Estos se utilizan como entrada y salida en la tubería que se debe probar.

En próximas publicaciones, te guiaremos a través de todo el proceso de implementación y ejecución de (Pipeline Unit Test) Prueba Unitaria de Canalizaciónen Apache Hop.

Data Set

El objeto de metadatos (Data Set) Conjunto de Datos es un componente clave en Apache Hop que permite a los usuarios definir metadatos sobre las fuentes y destinos de datos de manera reutilizable y consistente. El objeto de metadatos (Data Set) Conjunto de Datos almacena información como los nombres de los campos, tipos, formatos y otros metadatos que se utilizan en toda la tubería para asegurarse de que los datos se transformen e integren adecuadamente.

Usando el objeto de metadatos (Data Set) Conjunto de Datos, los usuarios pueden crear definiciones de metadatos para varias fuentes y destinos de datos. Una vez creadas, estas definiciones de metadatos se pueden utilizar como parte de la configuración de las (Pipeline Unit Test) Pruebas Unitarias de Canalización como conjuntos de datos de entrada y salida dorados.

Apache Hop - Data Set

 

  • (Set Folder (or use HOP_DATASETS_FOLDER)) Ruta de Carpeta (o utiliza HOP_DATASETS_FOLDER): Especifica el directorio del proyecto donde se pueden ubicar y guardar conjuntos de datos.
  • (Base file name) Nombre Base de Archivo: Especifica el nombre predeterminado del conjunto de datos.

  • (The data set fields and their column names in the file) Los campos del conjunto de datos y sus nombres de columna en el archivo: Es una lista de los nombres de los campos, tipos, formatos, longitudes y precisiones. Describe el diseño del archivo para este conjunto de datos.

Resumen parcial II

Algunas observaciones sobre la relación entre las (Pipeline Unit Test) Pruebas Unitarias de Canalizaciones y el (Data Set) Conjunto de Datos:

  1. Las pruebas unitarias en Apache Hop consisten en conjuntos de datos de entrada, conjuntos de datos de referencia (golden data sets) y varios ajustes que se pueden aplicar a las (pipelines) canalizaciones antes de realizar las pruebas.

  2. Los conjuntos de datos de entrada y los conjuntos de datos de referencia se clasifican como un tipo de objeto de metadatos distinto, denominado (Data Set) Conjunto de Datos, que permite a los usuarios definir metadatos sobre fuentes de datos y destinos de manera reutilizable y consistente.

  3. Utilizando el objeto de metadatos (Data Set) Conjunto de Datos, los usuarios pueden crear definiciones de metadatos para diversas fuentes de datos y destinos. Estas definiciones de metadatos se pueden utilizar como parte de la configuración de las Pruebas Unitarias de Canalizaciones (Pipeline Unit Tests) como conjuntos de datos de entrada y conjuntos de datos de referencia (golden data sets).

Beam File Definition

Apache Hop admite el modelo de programación Apache Beam para el procesamiento de datos, lo que permite a los usuarios definir tuberías de procesamiento de datos de manera flexible y escalable. Una característica clave de Apache Beam en Apache Hop es la (Beam File Definition) Definición de Archivos Beam, que proporciona una forma de definir la estructura y el formato de los archivos de entrada y salida en una tubería.

La (Beam File Definition) Definición de Archivos Beam es un objeto de metadatos que describe la estructura de los archivos que se utilizarán como entrada o salida en una (pipeline) canalización. Especifica el formato del archivo (como CSV, JSON o Avro), el diseño del archivo (como el delimitador de campos y el separador de registros) y los tipos de datos de cada campo. También permite a los usuarios especificar metadatos adicionales sobre el archivo, como la configuración de compresión y cifrado.

Apache Hop - Beam File Definition

 

  • (Field separator) Separador de campos: El separador utilizado entre los campos en la definición del archivo.
  • (Field enclosure) Enclosure de campos: El recinto de campos utilizado para los campos en la definición del archivo.
  • (Field definitions) Definiciones de campos: Una lista de nombres de campos, tipos, formatos, longitudes y precisiones. Esto describe el diseño del archivo para la definición de campos.

Para utilizar la (Beam File Definition) Definición de Archivo Beam en Apache Hop, los usuarios primero crean un nuevo objeto de metadatos y especifican el formato y el diseño del archivo. Luego, definen los campos del archivo, incluyendo sus nombres, tipos de datos y cualquier metadato adicional. Una vez creada la (Beam File Definition) Definición de Archivo Beam, se puede utilizar en una (pipeline) canalización para leer o escribir archivos del formato y estructura especificados.

El uso de la (Beam File Definition) Definición de Archivo Beam en Apache Hop ofrece varias ventajas. Permite a los usuarios definir formatos y estructuras de archivo en una ubicación centralizada, lo que facilita la reutilización y el mantenimiento de (pipelines) canalizaciones de procesamiento de datos. También habilita la validación automática del esquema y la conversión de tipos, lo que puede ayudar a prevenir errores y mejorar la confiabilidad del procesamiento de datos.

Ventajas del Uso de Metadatos en Apache Hop

El uso de objetos de metadatos en Apache Hop para procesos de integración de datos tiene varios beneficios:

  1. Reutilización: Los objetos de metadatos se pueden reutilizar en múltiples (workflows) flujos de trabajo y (pipelines) canalizaciones, lo que reduce la cantidad de tiempo y esfuerzo necesarios para crear nuevos procesos de integración de datos.

  2. Consistencia: Al definir objetos de metadatos como conexiones de base de datos, formatos de archivo y definiciones de esquema, se garantiza la consistencia en los (workflows) flujos de trabajo y las (pipelines) canalizaciones, lo que reduce el riesgo de errores y mejora la calidad de los datos.

  3. Gestionabilidad: Los objetos de metadatos se pueden gestionar de forma centralizada, lo que facilita su actualización y mantenimiento en múltiples (workflows) flujos de trabajo y (pipelines) canalizaciones.

  4. Flexibilidad: Con objetos de metadatos, es posible cambiar fácilmente entre diferentes fuentes y destinos de datos sin tener que actualizar todo el (workflow) flujo de trabajo o la (pipeline) canalización.

  5. Colaboración: Los objetos de metadatos se pueden compartir entre miembros del equipo, lo que mejora la colaboración y reduce el riesgo de errores o malentendidos.

Los objetos de metadatos simplifican y estandarizan el procesamiento de datos en (workflows) flujos de trabajo y (pipelines) canalizaciones al proporcionar una forma centralizada de gestionar elementos comunes de integración de datos, como conexiones de base de datos, formatos de archivo y definiciones de esquema. En lugar de tener que configurar manualmente cada uno de estos elementos para cada (workflow) flujo de trabajo o (pipeline) canalización, los objetos de metadatos se pueden definir una vez y reutilizar en múltiples procesos.

Este enfoque garantiza la consistencia en los procesos de integración de datos, lo que reduce el riesgo de errores y mejora la calidad de los datos. Además, los objetos de metadatos se pueden actualizar y mantener fácilmente, lo que facilita la gestión de cambios en las fuentes de datos, destinos o lógica de procesamiento.

Al proporcionar una forma estándar de definir y gestionar objetos de metadatos, Apache Hop simplifica el desarrollo y la implementación de procesos de integración de datos. Este enfoque facilita la colaboración en proyectos de integración de datos y garantiza que el procesamiento sea consistente, repetible y confiable en diferentes entornos y casos de uso.

Mejores Prácticas para Utilizar Metadatos en Apache Hop

Aquí tienes algunas mejores prácticas para utilizar objetos de metadatos en Apache Hop:

  1. Utiliza convenciones de nombres claras y consistentes para los objetos de metadatos para que sean fáciles de identificar y utilizar en (workflows) flujos de trabajo y pipelines. Por ejemplo, utiliza nombres que reflejen el propósito del objeto de metadatos y el tipo de datos que representa.

  2. Usa variables definidas en el archivo de configuración del entorno para definir los objetos de metadatos. Este enfoque proporciona una forma más dinámica y flexible de gestionar los objetos de metadatos, ya que te permite actualizar fácilmente los valores de las variables sin necesidad de modificar los propios objetos de metadatos.

  3. Emplea la herencia de metadatos para evitar la duplicación de información en varios objetos. Por ejemplo, puedes crear un objeto de metadatos para una conexión de base de datos que se utiliza en varios proyectos y luego crear un proyecto principal que se utiliza como padre para otros proyectos que heredan los detalles de la conexión.

  4. Utiliza la inyección de metadatos para poblar objetos de metadatos de forma dinámica en tiempo de ejecución. Esto puede ser especialmente útil cuando necesitas procesar datos de múltiples fuentes que tienen propiedades de metadatos diferentes.

  5. Utiliza el control de versiones para gestionar los cambios en tus objetos de metadatos con el tiempo. Esto puede ayudarte a realizar un seguimiento de los cambios y volver a versiones anteriores si es necesario.

  6. Documenta tus objetos de metadatos para que sea más fácil para otros usuarios comprender su propósito y utilizarlos eficazmente. Esto puede incluir información sobre la fuente de datos, tipos de datos y otros detalles relevantes.

Siguiendo estas mejores prácticas, puedes utilizar objetos de metadatos en Apache Hop para optimizar tus procesos de integración de datos, haciéndolos más eficientes y fáciles de gestionar con el tiempo.

Conclusiones

Este artículo ofrece una descripción general de los objetos de metadatos en Apache Hop, una herramienta de integración de datos de código abierto. El artículo explica la importancia de los objetos de metadatos y sus diferentes tipos, incluyendo 10 de los 20 tipos de metadatos en Apache Hop. Los beneficios de utilizar objetos de metadatos incluyen la reutilización, la consistencia, la facilidad de gestión y la flexibilidad. El artículo también proporciona mejores prácticas para crear y gestionar objetos de metadatos en Apache Hop.

En Apache Hop, los objetos de metadatos se utilizan para definir las entradas y salidas de los (workflows) flujos de trabajo, el formato y la estructura de las fuentes y destinos de datos, y la configuración de varios componentes de Hop. Se almacenan en un repositorio de metadatos centralizado, lo que permite un fácil acceso y gestión de los objetos de metadatos en múltiples proyectos.

Los objetos de metadatos también permiten la automatización de los procesos de integración de datos al proporcionar una forma de manipular y configurar de manera programática los (workflows) flujos de trabajo y las (pipelines) canalizaciones. Al definir los objetos de metadatos una vez, se pueden reutilizar en múltiples (workflows) flujos de trabajo y (pipelines) canalizaciones, lo que ahorra tiempo y esfuerzo en el desarrollo y el mantenimiento.