Cómo obtener linaje de Airflow en Microsoft Purview (versión preliminar)
Airflow es una plataforma de programación y automatización de flujos de trabajo de código abierto que se puede usar para crear y administrar canalizaciones de datos. Microsoft Purview admite la recopilación de linaje de Airflow mediante la integración con OpenLineage, un marco abierto para la recopilación y el análisis de linaje de datos. Obtenga información sobre cómo funciona Airflow con OpenLineage desde aquí.
Al habilitar OpenLineage en Airflow, se realizan un seguimiento automático de los metadatos y el linaje de los trabajos y conjuntos de datos a medida que se ejecutan los DAG. La información se envía a un Azure Event Hubs que configure. Microsoft Purview se suscribe a los eventos, los analiza e ingiere en el mapa de datos.
Importante
Esta característica está actualmente en versión preliminar. Los Términos de uso complementarios para las versiones preliminares de Microsoft Azure incluyen términos legales adicionales que se aplican a las características de Azure que están en versión beta, en versión preliminar o que aún no se han publicado en disponibilidad general.
Las versiones admitidas de Airflow son 1.10+ y 2.0-2.7.
Microsoft Purview admite metadatos y recopilación de linaje cuando se usan los siguientes tipos de orígenes de datos en Airflow:
- Amazon RDS para PostgreSQL
- Azure Database for PostgreSQL
- Google BigQuery
- PostgreSQL
- Copo de nieve
Los siguientes metadatos de Airflow se capturan a lo largo de:
- Área de trabajo de Airflow
- Dag de flujo de aire
- Tarea Flujo de aire
El linaje se recopila en Microsoft Purview cuando el DAG se ejecuta correctamente de forma basada en eventos.
- Actualmente no se admite el linaje de nivel de columna. Se captura el esquema de los recursos de datos.
- Si se hace referencia a las vistas de base de datos en las tareas, se capturan actualmente como recursos de tabla.
- Todos los metadatos se ingieren en la colección raíz de Microsoft Purview. Los recursos que ya existían en el mapa de datos se conservan en la colección configurada.
Como requisito previo, necesita una instancia de Airflow en ejecución.
Para obtener linaje de Airflow a Microsoft Purview, debe:
- Configuración de un Azure Event Hubs
- Configuración de Event Hubs para publicar mensajes en Microsoft Purview
- Configuración del flujo de aire con OpenLineage
- Ejecución de trabajos de Airflow y visualización de los recursos o linaje
Configure un Azure Event Hubs como receptor de los metadatos y el linaje que realiza OpenLineage en Airflow.
Cree un centro de eventos. Asigne al centro de eventos el nombre "microsoft_internal_openlineage".
Vaya a los centros de eventos "microsoft_internal_openlineage" ->Control de acceso (IAM):>agregue la asignación de roles y asigne el rol "receptor de datos Azure Event Hubs" a la identidad administrada de la cuenta de Microsoft Purview. Para obtener pasos detallados, consulte Asignación de roles de Azure mediante el Azure Portal.
Microsoft Purview admite el consumo y la inserción de eventos desde o hacia sus propios centros de eventos. Siga este documento para configurar Event Hubs para Microsoft Purview: Configurar Event Hubs con Microsoft Purview para enviar y recibir mensajes de temas de Atlas Kafka.
En resumen:
Vaya a la pestaña Cuenta de Microsoft Purview:> Recursos administrados y deshabilite el espacio de nombres de Event Hubs administrado.
Vaya a la pestaña Configuración de Kafka ->+ Agregar configuración ->Configuración de enlace, escriba un nombre y seleccione el espacio de nombres de Event Hubs y Event Hubs que creó en el paso anterior.
Instalación:
Para descargar e instalar la biblioteca "openlineage-airflow" más reciente, actualice el archivo "requirements.txt" de la instancia de Airflow en ejecución con:
openlineage-airflow
Nota
La versión de Airflow y la versión openlineage-airflow deben coincidir. Por ejemplo, al usar Airflow 2.7.1, puede usar openlineage-airflow versión 1.1.0 o 1.2.0. Puede ver las versiones coincidentes en este sitio web.
Configuración:
A continuación, configure la instancia de Azure Event Hubs como destino al que OpenLineage envía los eventos.
Cree un archivo "openlineage.yml" en la ruta de acceso raíz de Airflow. El contenido del archivo es el siguiente:
transport: type: "kafka" config: bootstrap.servers: "{EVENTHUB_SERVER}:9093" security.protocol: "SASL_SSL" sasl.mechanism: "PLAIN" sasl.username: "$ConnectionString" sasl.password: "{PASSWORD}" client.id: "airflow-client" topic: "microsoft_internal_openlineage" flash: True
Reemplace los dos marcadores de posición por valores:
Reinicie el servidor de Airflow.
Ahora puede ejecutar los trabajos de Airflow y, a continuación, ir al portal de gobernanza de Microsoft Purview para examinar, buscar o ver recursos. Los recursos deben aparecer poco después de una ejecución correcta del DAG.
Examinar los recursos de Airflow:
Vea los detalles del recurso de tarea de Airflow con linaje:
Si ejecuta el trabajo de Airflow pero no ve los recursos o linaje correspondientes mostrados en Microsoft Purview:
- Compruebe si el caso de uso de Airflow es compatible con Microsoft Purview. Consulte la sección funcionalidades admitidas .
- Vaya a la instancia de Event Hubs para comprobar si hay solicitudes y mensajes entrantes. Si no es así, compruebe la configuración de OpenLineage en Airflow.