Como executar um DAG do Apache Airflow no Cloud Composer 3

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Neste guia de início rápido, mostramos como criar um ambiente do Cloud Composer e executar um DAG do Apache Airflow no Cloud Composer 3.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Ative a API Cloud Composer.

    Ative a API

  7. Para conseguir as permissões necessárias a fim de concluir o guia de início rápido, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

    Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

    Também é possível receber as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Criar um ambiente

  1. No console do Google Cloud, acesse a página Criar ambiente.

    Acessar "Criar ambiente"

  2. No campo Nome, use example-environment.

  3. Na lista suspensa Local, selecione uma região para o ambiente do Cloud Composer. Este guia usa a região us-central1.

  4. Para outras opções de configuração do ambiente, use os padrões fornecidos.

  5. Clique em Criar e aguarde até que o ambiente seja criado.

  6. Quando terminar, uma marca de seleção verde vai aparecer ao lado do nome do ambiente.

Criar um arquivo DAG

Um Airflow DAG é uma coleção de tarefas organizadas que você quer programar e executar. Os DAGs são definidos em arquivos Python padrão.

Neste guia, usamos um exemplo de DAG do Airflow definido no arquivo quickstart.py. O código Python nesse arquivo faz o seguinte:

  1. Cria um DAG, composer_sample_dag. Este DAG é executado todos os dias.
  2. Executa uma tarefa, print_dag_run_conf. A tarefa imprime a configuração da execução do DAG usando o operador bash.

Salve uma cópia do arquivo quickstart.py na sua máquina local:

import datetime

from airflow import models
from airflow.operators import bash

# If you are running Airflow in more than one time zone
# see https://airflow.apache.org/docs/apache-airflow/stable/timezone.html
# for best practices
YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)

default_args = {
    "owner": "Composer Example",
    "depends_on_past": False,
    "email": [""],
    "email_on_failure": False,
    "email_on_retry": False,
    "retries": 1,
    "retry_delay": datetime.timedelta(minutes=5),
    "start_date": YESTERDAY,
}

with models.DAG(
    "composer_quickstart",
    catchup=False,
    default_args=default_args,
    schedule_interval=datetime.timedelta(days=1),
) as dag:
    # Print the dag_run id from the Airflow logs
    print_dag_run_conf = bash.BashOperator(
        task_id="print_dag_run_conf", bash_command="echo {{ dag_run.id }}"
    )

Faça upload do arquivo DAG para o bucket do ambiente

Todo ambiente do Cloud Composer tem um bucket do Cloud Storage associado a ele. O Airflow no Cloud Composer programa apenas os DAGs localizados na pasta /dags desse bucket.

Para programar seu DAG, faça upload de quickstart.py da máquina local para a pasta /dags do ambiente:

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do ambiente, example-environment. A página Detalhes do ambiente é aberta.

  3. Clique em Abrir pasta de DAGs. A página Detalhes do bucket é aberta.

  4. Clique em Fazer upload de arquivos e selecione sua cópia de quickstart.py.

  5. Para fazer upload do arquivo, clique em Abrir.

Visualizar o DAG

Depois de fazer upload do arquivo DAG, o Airflow faz o seguinte:

  1. Analisa o arquivo DAG que você enviou. Pode levar alguns minutos para que o DAG fique disponível para o Airflow.
  2. Adiciona o DAG à lista de DAGs disponíveis.
  3. Executa o DAG de acordo com a programação que você forneceu no arquivo DAG.

Para verificar se o DAG foi processado sem erros e está disponível no Airflow, visualize-o na interface do DAG. A interface do DAG é a interface do Cloud Composer para visualizar as informações do DAG no console do Google Cloud. O Cloud Composer também fornece acesso à IU do Airflow, que é uma interface da Web nativa do Airflow.

  1. Aguarde cerca de cinco minutos para dar tempo ao Airflow para processar o arquivo DAG enviado anteriormente e concluir a primeira execução do DAG (explicada mais tarde).

  2. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  3. Na lista de ambientes, clique no nome do ambiente, example-environment. A página Detalhes do ambiente é aberta.

  4. Acesse a guia DAGs.

  5. Verifique se o DAG composer_quickstart está presente na lista de DAGs.

    A lista de DAGs exibe o DAG composer_quickstart com
    mais informações, como estado e programação.
    Figura 1. A lista de DAGs exibe o DAG composer_quickstart (clique para ampliar)

Mais detalhes da execução do DAG

Uma única execução de um DAG é chamada de execução de DAG. O Airflow executa imediatamente uma execução do DAG para o DAG de exemplo porque a data de início no arquivo DAG está definida como ontem. Dessa forma, o Airflow alcança a programação do DAG especificado.

O DAG de exemplo contém uma tarefa, print_dag_run_conf, que executa o comando echo no console. Esse comando exibe metainformações sobre o DAG (identificador numérico de execução do DAG).

  1. Na guia DAGs, clique em composer_quickstart. A guia Execuções do DAG será aberta.

  2. Na lista de execuções do DAG, clique na primeira entrada.

    A lista de execuções do DAG mostra a execução recente do DAG (data e status de execução)
    Figura 2. A lista de execuções de DAG para o DAG composer_quickstart (clique para ampliar)
  3. Os detalhes da execução do DAG são exibidos, detalhando as informações sobre as tarefas individuais do DAG de exemplo.

    Lista de tarefas com uma entrada print_dag_run_conf, além dos horários de início, término e duração
    Figura 3. Lista de tarefas que foram executadas na execução do DAG (clique para ampliar)
  4. A seção Registros para execução do DAG lista os registros de todas as tarefas na execução do DAG. É possível conferir a saída do comando echo nos registros.

    Entradas de registro da tarefa, uma delas é a Saída e a outra lista
 um identificador
    Figura 4. Registros da tarefa print_dag_run_conf (clique para ampliar)

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga as etapas a seguir.

Exclua os recursos usados neste tutorial:

  1. Exclua o ambiente do Cloud Composer:

    1. No console do Google Cloud, acesse a página Ambientes.

      Acessar "Ambientes"

    2. Selecione example-environment e clique em Excluir.

    3. Aguarde até o ambiente ser excluído.

  2. Exclua o bucket do ambiente. A exclusão do ambiente do Cloud Composer não exclui o bucket.

    1. No console do Google Cloud, acesse a página Armazenamento > Navegador.

      Acesse Armazenamento > Navegador

    2. Selecione o bucket do ambiente e clique em Excluir. Por exemplo, ele pode ter o nome us-central1-example-environ-c1616fe8-bucket.

  3. Exclua o disco permanente da fila do Redis do seu ambiente. A exclusão do ambiente do Cloud Composer não remove o disco permanente.

    1. No console do Google Cloud, acesse Compute Engine > Discos.

      Acessar "Discos"

    2. Selecione o disco permanente da fila do Redis do ambiente e clique em Excluir.

      Por exemplo, esse disco pode ser nomeado como gke-us-central1-exampl-pvc-b12055b6-c92c-43ff-9de9-10f2cc6fc0ee. Os discos do Cloud Composer 1 sempre têm o tipo Standard persistent disk e o tamanho de 2 GB.

A seguir