Comment obtenir la traçabilité d’Airflow dans Microsoft Purview (préversion)
Airflow est une plateforme open source d’automatisation et de planification de flux de travail qui peut être utilisée pour créer et gérer des pipelines de données. Microsoft Purview prend en charge la collecte de la traçabilité Airflow en l’intégrant à OpenLineage, une infrastructure ouverte pour la collecte et l’analyse de la traçabilité des données. Découvrez le fonctionnement d’Airflow avec OpenLineage ici.
L’activation d’OpenLineage dans Airflow effectue automatiquement le suivi des métadonnées et de la traçabilité des travaux et des jeux de données à mesure que les DAG s’exécutent. Les informations sont envoyées à un Azure Event Hubs que vous configurez. Microsoft Purview s’abonne aux événements, les analyse et les ingère dans le mappage de données.
Important
Cette fonctionnalité est actuellement en préversion. Les conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure incluent des conditions juridiques supplémentaires qui s’appliquent aux fonctionnalités Azure qui sont en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale.
Les versions airflow prises en charge sont 1.10+ et 2.0-2.7.
Microsoft Purview prend en charge la collecte de métadonnées et de traçabilité lorsque les types de sources de données suivants sont utilisés dans Airflow :
- Amazon RDS pour PostgreSQL
- Base de données Azure pour PostgreSQL
- Google BigQuery
- PostgreSQL
- Flocon de neige
Les métadonnées Airflow suivantes sont capturées avec :
- Espace de travail Airflow
- Airflow DAG
- Tâche de flux d’air
La traçabilité est collectée dans Microsoft Purview en cas d’exécutions DAG réussies d’une manière basée sur des événements.
- La traçabilité au niveau de la colonne n’est actuellement pas prise en charge. Le schéma des ressources de données est capturé.
- Si les vues de base de données sont référencées dans les tâches, elles sont actuellement capturées en tant que ressources de table.
- Toutes les métadonnées sont ingérées dans la collection racine Microsoft Purview. Les ressources qui existaient déjà dans le mappage de données sont conservées dans la collection configurée.
Comme prérequis, vous avez besoin d’un instance Airflow en cours d’exécution.
Pour obtenir la traçabilité entre Airflow et Microsoft Purview, vous devez :
- Configurer un Azure Event Hubs
- Configurer Event Hubs pour publier des messages sur Microsoft Purview
- Configurer votre Airflow avec OpenLineage
- Exécuter des travaux Airflow et afficher les ressources/traçabilité
Configurez une Azure Event Hubs comme récepteur des métadonnées et de la traçabilité suivies par OpenLineage dans Airflow.
Créez un hub d’événements. Nommez votre hub d’événements « microsoft_internal_openlineage ».
Accédez à votre hubs d’événements « microsoft_internal_openlineage » ->Contrôle d’accès (IAM) ->Ajouter une attribution de rôle, attribuer le rôle « récepteur de données Azure Event Hubs » à l’identité managée de votre compte Microsoft Purview. Pour obtenir des instructions détaillées, consultez Attribuer des rôles Azure à l’aide de la Portail Azure.
Microsoft Purview prend en charge l’utilisation et le push d’événements depuis/vers vos propres Hubs d’événements. Suivez ce document pour configurer Event Hubs pour Microsoft Purview : Configurer Event Hubs avec Microsoft Purview pour envoyer et recevoir des messages de rubriques Atlas Kafka.
En Résumé :
Accédez à votre compte Microsoft Purview -> Onglet Ressources managées, désactivez l’espace de noms Event Hubs managé.
Accédez à l’onglet Configuration Kafka ->+ Ajouter une configuration ->Hook configuration, entrez un nom, puis sélectionnez l’espace de noms Event Hubs et Event Hubs que vous avez créés à l’étape précédente.
Installation:
Pour télécharger et installer la dernière bibliothèque « openlineage-airflow », mettez à jour le fichier « requirements.txt » de votre instance Airflow en cours d’exécution avec :
openlineage-airflow
Notes
La version Airflow et la version openlineage-airflow doivent correspondre. Par exemple, lorsque vous utilisez Airflow 2.7.1, vous pouvez utiliser openlineage-airflow version 1.1.0 ou 1.2.0. Vous pouvez afficher les versions correspondantes sur ce site web.
Configuration:
Ensuite, configurez votre Azure Event Hubs instance comme cible à laquelle OpenLineage envoie les événements.
Créez un fichier « openlineage.yml » sous votre chemin d’accès racine Airflow. Le contenu du fichier est le suivant :
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
Remplacez les deux espaces réservés par des valeurs :
Redémarrez votre serveur Airflow.
Vous pouvez maintenant exécuter vos travaux Airflow, puis accéder au portail de gouvernance Microsoft Purview pour parcourir/rechercher/afficher des ressources. Les ressources doivent apparaître peu de temps après l’exécution réussie d’un DAG.
Parcourir les ressources Airflow :
Afficher les détails de la ressource de tâche Airflow avec traçabilité :
Si vous exécutez le travail Airflow, mais que vous ne voyez pas les ressources/traçabilité correspondantes affichées dans Microsoft Purview :
- Vérifiez si votre cas d’usage Airflow est pris en charge par Microsoft Purview. Reportez-vous à la section fonctionnalités prises en charge .
- Accédez à votre instance Event Hubs pour case activée en cas de demandes et de messages entrants. Si non, double case activée votre configuration OpenLineage dans Airflow.