Orquestrar pipelines

Esta página explica a orquestração de pipelines com o Serviço Gerenciado para Apache Airflow e gatilhos. O Cloud Data Fusion recomenda o uso do Airflow Gerenciado para orquestrar pipelines. Se você precisar de uma maneira mais simples de gerenciar a orquestração, use gatilhos.

Composer

Orquestrar pipelines com o Airflow Gerenciado

A orquestração da execução de pipelines no Cloud Data Fusion com o Airflow Gerenciado oferece os seguintes benefícios:

  • Gerenciamento centralizado de fluxos de trabalho:gerencie de maneira uniforme a execução de vários pipelines do Cloud Data Fusion.
  • Gerenciamento de dependências:para garantir a ordem de execução adequada, defina dependências entre pipelines.
  • Monitoramento e alertas:o Airflow Gerenciado oferece recursos de monitoramento e alertas para falhas.
  • Integração com outros serviços:o Airflow Gerenciado permite orquestrar fluxos de trabalho que abrangem o Cloud Data Fusion e outros Google Cloud serviços.

Para orquestrar pipelines do Cloud Data Fusion usando o Airflow Gerenciado, siga este processo:

  1. Configure o ambiente do Airflow Gerenciado.

    • Crie um ambiente do Airflow Gerenciado. Se você não tiver um, provisione o ambiente no seu Google Cloud projeto. Esse ambiente é seu espaço de trabalho de orquestração.
    • Conceda permissões. Verifique se a conta de serviço do Airflow Gerenciado tem as permissões necessárias para acessar o Cloud Data Fusion (como permissão para iniciar, interromper e listar pipelines).
  2. Defina gráficos acíclicos dirigidos (DAGs, na sigla em inglês) para orquestração.

    • Crie um DAG:no Airflow Gerenciado, crie um DAG que defina o fluxo de trabalho de orquestração para seus pipelines do Cloud Data Fusion.
    • Operadores do Cloud Data Fusion:use os operadores do Cloud Data Fusion do Airflow Gerenciado no DAG. Esses operadores permitem interagir programaticamente com o Cloud Data Fusion.

Operadores do Cloud Data Fusion

A orquestração de pipelines do Cloud Data Fusion tem os seguintes operadores:

CloudDataFusionStartPipelineOperator

Aciona a execução de um pipeline do Cloud Data Fusion pelo ID. Ele tem os seguintes parâmetros:

  • ID do pipeline
  • Local (Google Cloud região)
  • Namespace do pipeline
  • Argumentos de ambiente de execução (opcional)
  • Aguardar a conclusão (opcional)
  • Tempo limite (opcional)
CloudDataFusionStopPipelineOperator

Permite interromper um pipeline do Cloud Data Fusion em execução.

CloudDataFusionDeletePipelineOperator

Exclui um pipeline do Cloud Data Fusion.

Criar o fluxo de trabalho do DAG

Ao criar o fluxo de trabalho do DAG, considere o seguinte:

  • Definir dependências:use a estrutura do DAG para definir dependências entre tarefas. Por exemplo, você pode ter uma tarefa que aguarda a conclusão de um pipeline em um namespace antes de acionar outro pipeline em um namespace diferente.
  • Programação:programe o DAG para ser executado em intervalos específicos, como diariamente ou por hora, ou defina para ser acionado manualmente.

Para mais informações, consulte a visão geral do Airflow Gerenciado.

Gatilhos

Orquestrar pipelines com gatilhos

Os gatilhos do Cloud Data Fusion permitem executar automaticamente um pipeline downstream após a conclusão (sucesso, falha ou qualquer condição especificada) de um ou mais pipelines upstream.

Os gatilhos são úteis para as seguintes tarefas:

  • Limpar os dados uma vez e disponibilizá-los para vários pipelines downstream para consumo.
  • Compartilhar informações, como argumentos de ambiente de execução e configurações de plug-in, entre pipelines. Essa tarefa é chamada de configuração de payload.
  • Ter um conjunto de pipelines dinâmicos que são executados usando os dados da hora, do dia, da semana ou do mês, em vez de um pipeline estático que precisa ser atualizado para cada execução.

Por exemplo, você tem um conjunto de dados que contém todas as informações sobre os fretes da sua empresa. Com base nesses dados, você quer responder a várias perguntas comerciais. Para fazer isso, crie um pipeline que limpe os dados brutos sobre fretes, chamado Limpeza de dados de fretes. Em seguida, crie um segundo pipeline, Fretes atrasados nos EUA, que lê os dados limpos e encontra os fretes nos EUA que atrasaram além de um limite especificado. O pipeline Fretes atrasados nos EUA pode ser acionado assim que o pipeline upstream Limpeza de dados de fretes for concluído.

Além disso, como o pipeline downstream consome a saída do pipeline upstream, é necessário especificar que, quando o pipeline downstream for executado usando esse gatilho, ele também receberá o diretório de entrada para leitura (que é o diretório em que o pipeline upstream gerou a saída). Esse processo é chamado de transmissão da configuração de payload, que você define com argumentos de ambiente de execução. Ele permite ter um conjunto de pipelines dinâmicos que são executados usando os dados da hora, do dia, da semana ou do mês (não um pipeline estático, que precisa ser atualizado para cada execução).

Para orquestrar pipelines com gatilhos, siga este processo:

  1. Criar pipelines upstream e downstream.

    • No Cloud Data Fusion Studio, crie e implante os pipelines que formam sua cadeia de orquestração.
    • Considere qual conclusão do pipeline vai ativar o próximo pipeline (downstream) no fluxo de trabalho.
  2. Opcional: transmitir argumentos de ambiente de execução para pipelines upstream.

  3. Criar um gatilho de entrada no pipeline downstream.

    • No Cloud Data Fusion Studio, acesse a página Lista. Na guia Implantado, clique no nome do pipeline downstream. A visualização "Implantar" desse pipeline é exibida.
    • No lado central esquerdo da página, clique em Acionadores de entrada. Uma lista de pipelines disponíveis aparece.
    • Clique no pipeline upstream. Selecione um ou mais estados de conclusão do pipeline upstream (Bem-sucedidos, Falhas ou Paradas) como condição para quando o pipeline downstream será executado.
    • Se você quiser que o pipeline upstream compartilhe informações (chamada de configuração de payload) com o pipeline downstream, clique em Configuração do gatilho e siga as etapas para transmitir a configuração do payload como argumentos de ambiente de execução. Caso contrário, clique em Ativar gatilho.
  4. Teste o gatilho.

    • Inicie uma execução do pipeline upstream.
    • Se o gatilho estiver configurado corretamente, o pipeline downstream será executado automaticamente após a conclusão dos pipelines upstream, com base na condição configurada.

Transmitir a configuração do payload como argumentos de ambiente de execução

A configuração de payload permite o compartilhamento de informações do pipeline upstream para o pipeline downstream. Essas informações podem ser, por exemplo, o diretório de saída, o formato de dados ou o dia em que o pipeline foi executado. Em seguida, essas informações são usadas pelo pipeline downstream para decisões como determinar o conjunto de dados certo para ler.

Para transmitir informações do pipeline upstream ao pipeline downstream, defina os argumentos de tempo de execução do pipeline downstream com os valores dos argumentos de ambiente de execução ou a configuração de qualquer plug-in no pipeline upstream.

Sempre que o pipeline downstream é acionado e executado, a configuração do payload é definida usando os argumentos do ambiente de execução da execução específica do pipeline upstream que acionou o pipeline downstream.

Para transmitir a configuração do payload como argumentos de ambiente de execução, siga estas etapas:

  1. Continue de onde você parou na seção Como criar um gatilho de entrada, depois de clicar em Configuração do gatilho, todos os argumentos de ambiente de execução que você definiu anteriormente do pipeline upstream. Escolha os argumentos de ambiente de execução a serem transmitidos do pipeline upstream para o pipeline downstream quando esse gatilho for executado.
  2. Clique na guia Configuração do plug-in para ver uma lista do que será transmitido do pipeline upstream para o pipeline downstream quando for acionado.
  3. Clique em Configurar e ativar gatilho.