Como obter linhagem do Airflow para o Microsoft Purview (Pré-visualização)
O Airflow é uma plataforma de automatização e agendamento de fluxos de trabalho open source que pode ser utilizada para criar e gerir pipelines de dados. O Microsoft Purview suporta a recolha de linhagem do Airflow através da integração com o OpenLineage, uma arquitetura aberta para recolha e análise de linhagem de dados. Saiba como o Airflow funciona com o OpenLineage a partir daqui.
Ativar o OpenLineage no Airflow monitoriza automaticamente metadados e linhagem sobre tarefas e conjuntos de dados à medida que os DAGs são executados. As informações são enviadas para um Hubs de Eventos do Azure que configurar. O Microsoft Purview subscreve os eventos, analisa-os e ingere-os no mapa de dados.
Importante
Este recurso está atualmente no modo de visualização. Os Termos de Utilização Suplementares das Pré-visualizações do Microsoft Azure incluem termos legais adicionais que se aplicam às funcionalidades do Azure que estão em versão beta, em pré-visualização ou que ainda não foram lançadas para disponibilidade geral.
Recursos compatíveis
As versões suportadas do Airflow são 1.10+ e 2.0-2.7.
O Microsoft Purview suporta metadados e recolha de linhagem quando são utilizados os seguintes tipos de origens de dados no Airflow:
- Amazon RDS para PostgreSQL
- Banco de dados do Azure para PostgreSQL
- BigQuery do Google
- PostgreSQL
- Snowflake
Os seguintes metadados do Airflow são capturados ao longo de:
- Área de trabalho fluxo de ar
- DAG do Fluxo de Ar
- Tarefa de fluxo de ar
A linhagem é recolhida no Microsoft Purview após execuções bem-sucedidas do DAG de forma baseada em eventos.
Limitações conhecidas
- Atualmente, a linhagem ao nível da coluna não é suportada. O esquema dos recursos de dados é capturado.
- Se as vistas de base de dados forem referenciadas nas tarefas, são atualmente capturadas como recursos de tabela.
- Todos os metadados são ingeridos na coleção de raiz do Microsoft Purview. Os recursos já existentes no mapa de dados são preservados na coleção configurada.
Como colocar a linhagem airflow no Microsoft Purview
Como pré-requisito, precisa de uma instância do Airflow em execução.
Para obter a linhagem do Airflow para o Microsoft Purview, tem de:
- Configurar um Hubs de Eventos do Azure
- Configurar Os Hubs de Eventos para publicar mensagens no Microsoft Purview
- Configurar o Airflow com o OpenLineage
- Executar tarefas de Fluxo de Ar e ver os recursos/linhagem
Configurar Hubs de Eventos do Azure
Configure um Hubs de Eventos do Azure como o recetor dos metadados e da linhagem controlados pela OpenLineage no Fluxo de Ar.
Criar um hub de eventos. Atribua o nome "microsoft_internal_openlineage" ao hub de eventos.
Aceda aos hubs de eventos "microsoft_internal_openlineage" –>Controlo de acesso (IAM) –>Adicionar atribuição de função, atribua a função "Recetor de Dados Hubs de Eventos do Azure" à identidade gerida da sua conta do Microsoft Purview. Para obter os passos detalhados, veja Atribuir funções do Azure com o portal do Azure.
Configurar Os Hubs de Eventos para publicar mensagens no Microsoft Purview
O Microsoft Purview suporta o consumo e envio de eventos de/para os seus próprios Hubs de Eventos. Siga este documento para configurar os Hubs de Eventos para o Microsoft Purview: Configurar Hubs de Eventos com o Microsoft Purview para enviar e receber mensagens de tópicos do Atlas Kafka.
Em resumo:
Aceda à sua conta do Microsoft Purview – separador> Recursos geridos e desative o espaço de nomes dos Hubs de Eventos gerido.
Aceda ao separador de configuração do Kafka ->+ Adicionar configuração ->Configuração do Hook, introduza um nome e selecione o espaço de nomes dos Hubs de Eventos e os Hubs de Eventos que criou no passo anterior.
Configurar o Airflow com o OpenLineage
Instalação:
Para transferir e instalar a biblioteca "openlineage-airflow" mais recente, atualize o ficheiro "requirements.txt" da instância do Airflow em execução com:
openlineage-airflow
Observação
A versão airflow e a versão openlineage-airflow têm de corresponder. Por exemplo, quando utiliza o Airflow 2.7.1, pode utilizar a versão openlineage-airflow 1.1.0 ou 1.2.0. Pode ver versões correspondentes neste site.
Configuração:
Em seguida, configure a instância Hubs de Eventos do Azure como o destino para o qual o OpenLineage envia os eventos.
Crie um ficheiro "openlineage.yml" no caminho de raiz do Airflow. O conteúdo do ficheiro é o seguinte:
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
Substitua os dois marcadores de posição pelos valores:
Reinicie o servidor airflow.
Executar tarefas de Fluxo de Ar e ver os recursos/linhagem
Agora pode executar as suas tarefas do Airflow e, em seguida, aceder ao portal de Governação do Microsoft Purview para navegar/procurar/ver recursos. Os recursos devem aparecer pouco depois de uma execução do DAG com êxito.
Procurar recursos do Airflow:
Veja os detalhes do recurso de tarefas do Airflow com a linhagem:
Dicas de solução de problemas
Se executar a tarefa Airflow, mas não vir os recursos/linhagem correspondentes apresentados no Microsoft Purview:
- Verifique se o seu caso de utilização do Airflow é suportado pelo Microsoft Purview. Veja a secção de capacidades suportadas .
- Aceda à instância dos Hubs de Eventos para marcar se forem recebidos pedidos e mensagens. Se não, faça duplo marcar a configuração OpenLineage no Airflow.