Execute um DAG do Apache Airflow no Cloud Composer 3

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Composer API.

    Enable the API

  7. Para receber as autorizações de que precisa para concluir este início rápido, peça ao seu administrador que lhe conceda as seguintes funções da IAM no seu projeto:

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

  8. Crie uma conta de serviço do ambiente

    Quando cria um ambiente, especifica uma conta de serviço. Esta conta de serviço chama-se conta de serviço do ambiente. O seu ambiente usa esta conta de serviço para realizar a maioria das operações.

    A conta de serviço do seu ambiente não é uma conta de utilizador. Uma conta de serviço é um tipo especial de conta usada por uma aplicação ou uma instância de máquina virtual (VM) e não por uma pessoa.

    Para criar uma conta de serviço para o seu ambiente:

    1. Crie uma nova conta de serviço, conforme descrito na documentação de gestão de identidade e de acesso.

    2. Atribuir-lhe uma função, conforme descrito na documentação da gestão de identidade e de acesso. A função necessária é Composer Worker (composer.worker).

    Crie um ambiente

    1. Na Google Cloud consola, aceda à página Criar ambiente.

      Aceda a Criar ambiente

    2. No campo Nome, introduza example-environment.

    3. Na lista pendente Localização, 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 as predefinições fornecidas.

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

    6. Quando terminar, é apresentada uma marca de verificação verde junto ao nome do ambiente.

    Crie um ficheiro DAG

    Um DAG do Airflow é uma coleção de tarefas organizadas que quer agendar e executar. Os DAGs são definidos em ficheiros Python padrão.

    Este guia usa um exemplo de DAG do Airflow definido no ficheiro quickstart.py. O código Python neste ficheiro 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.

    Guarde uma cópia do ficheiro quickstart.py no seu computador 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 }}"
        )

    Carregue o ficheiro DAG para o contentor do seu ambiente

    Todos os ambientes do Cloud Composer têm um contentor do Cloud Storage associado. O Airflow no Cloud Composer agenda apenas DAGs localizados na pasta /dags neste contentor.

    Para agendar o seu DAG, carregue o ficheiro quickstart.py a partir da sua máquina local para a pasta /dags do ambiente:

    1. Na Google Cloud consola, aceda à página Ambientes.

      Aceder a Ambientes

    2. Na lista de ambientes, clique no nome do seu ambiente, example-environment. É apresentada a página Detalhes do ambiente.

    3. Clique em Abrir pasta de DAGs. É apresentada a página Detalhes do contentor.

    4. Clique em Carregar ficheiros e, de seguida, selecione a sua cópia do ficheiro quickstart.py.

    5. Para carregar o ficheiro, clique em Abrir.

    Veja o DAG

    Depois de carregar o ficheiro DAG, o Airflow faz o seguinte:

    1. Analisa o ficheiro DAG que carregou. Pode demorar alguns minutos até 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 agenda que forneceu no ficheiro DAG.

    Verifique se o DAG é processado sem erros e está disponível no Airflow através da visualização na IU do DAG. A IU do DAG é a interface do Cloud Composer para ver informações do DAG na Google Cloud consola. O Cloud Composer também oferece acesso à IU do Airflow, que é uma interface Web do Airflow nativa.

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

    2. Na Google Cloud consola, aceda à página Ambientes.

      Aceder a Ambientes

    3. Na lista de ambientes, clique no nome do seu ambiente, example-environment. É apresentada a página Detalhes do ambiente.

    4. Aceda ao separador DAGs.

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

      A lista de DAGs apresenta o DAG composer_quickstart com
    informações adicionais, como o estado e a programação
      Figura 1. A lista de DAGs apresenta o DAG composer_quickstart (clique para aumentar)

    Veja detalhes da execução do DAG

    Uma única execução de um DAG é denominada execução de DAG. O Airflow executa imediatamente uma execução de DAG para o DAG de exemplo porque a data de início no ficheiro DAG está definida para ontem. Desta forma, o Airflow atualiza-se de acordo com a programação do DAG especificado.

    O DAG de exemplo contém uma tarefa, print_dag_run_conf, que executa o comando echo na consola. Este comando produz metainformações sobre o DAG (identificador numérico da execução do DAG).

    1. No separador DAGs, clique em composer_quickstart. O separador Execuções do DAG é aberto.

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

      A lista de execuções de DAG mostra a execução de DAG recente (a respetiva data de execução
    e estado)
      Figura 2. A lista de execuções de DAG para o DAG composer_quickstart (clique para aumentar)
    3. São apresentados os detalhes da execução do DAG, que detalham as informações sobre as tarefas individuais do DAG de exemplo.

      A lista de tarefas com uma entrada print_dag_run_conf, a respetiva hora de início, hora de fim e duração
      Figura 3. A lista de tarefas que foram executadas na execução do DAG (clique para aumentar)
    4. A secção Registos da execução do DAG apresenta os registos de todas as tarefas na execução do DAG. Pode ver o resultado do comando echo nos registos.

      Entradas de registo da tarefa. Uma delas é Output e a outra apresenta
    um identificador
      Figura 4. Registos da tarefa print_dag_run_conf (clique para aumentar)

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    Elimine os recursos usados neste tutorial:

    1. Elimine o ambiente do Cloud Composer:

      1. Na Google Cloud consola, aceda à página Ambientes.

        Aceder a Ambientes

      2. Selecione example-environment e clique em Eliminar.

      3. Aguarde até que o ambiente seja eliminado.

    2. Elimine o contentor do seu ambiente. A eliminação do ambiente do Cloud Composer não elimina o respetivo contentor.

      1. Na Google Cloud consola, aceda à página Armazenamento > Navegador.

        Aceda a Armazenamento > Navegador

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

    O que se segue?