arrow_back

Cloud Composer: Qwik Start - Console

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Composer: Qwik Start - Console

Lab 1 hora universal_currency_alt 1 crédito show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP261

Laboratórios autoguiados do Google Cloud

Visão geral

Os fluxos de trabalho são um tema comum quando falamos em análise de dados. Eles envolvem ingestão, transformação e análise de dados para descobrir informações relevantes. A ferramenta do Google Cloud para hospedagem de fluxos de trabalho é o Cloud Composer. Ele é a versão hospedada da famosa ferramenta de fluxo de trabalho de código aberto Apache Airflow.

Neste laboratório, você usará o console do Cloud para configurar um ambiente do Cloud Composer. Depois, você vai usar o Cloud Composer para realizar um fluxo de trabalho simples que verifica a existência de um arquivo de dados, cria um cluster do Cloud Dataproc para executar um job de contagem de palavras e depois exclui esse cluster.

Objetivos

Neste laboratório, você vai aprender a fazer o seguinte:

  • Usar o console do Cloud para criar o ambiente do Cloud Composer
  • Abrir e executar o gráfico acíclico dirigido (DAG) na interface da Web do Airflow
  • Acessar os resultados do job de contagem de palavras no armazenamento

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

Tarefa 1: criar o ambiente do Cloud Composer

Nesta seção, você vai criar um ambiente do Cloud Composer.

  1. Acesse o Menu de navegação (Ícone do menu de navegação) > Composer.

  2. Clique em CRIAR AMBIENTE e selecione Composer 1 no menu suspenso.

  3. Defina o seguinte para seu ambiente:

    • Nome: highcpu

    • Local:

    • Versão da imagem: selecione a opção mais recente.

    • Zona:

    • Tipo de máquina: e2-standard-2

Deixe as outras configurações como padrão.

  1. Clique em CRIAR.

O processo de criação do ambiente será concluído quando uma marca de seleção verde for exibida à esquerda do nome dele na página "Ambientes" no console do Cloud.

O processo de configuração do ambiente pode levar de 10 a 15 minutos. Continue o laboratório enquanto o ambiente é gerado.

Crie um bucket do Cloud Storage

Crie um bucket do Cloud Storage no projeto. Ele é usado como saída para o job do Hadoop no Dataproc.

  1. Acesse Menu de navegação > Cloud Storage > Buckets e clique em CRIAR.

  2. Dê o nome e crie o bucket na região . Depois, clique em CRIAR.

Se a mensagem "O acesso público será bloqueado" aparecer, clique em Confirmar.

Não esqueça o nome do bucket do Cloud Storage (o ID do seu projeto). Ele será usado posteriormente neste laboratório como uma variável do Airflow.

Clique em Verificar meu progresso para conferir o objetivo.

Crie um bucket do Cloud Storage.

Tarefa 2: definição e conceitos principais do Airflow

Enquanto você aguarda a criação do ambiente do Composer, veja alguns termos usados com o Airflow.

O Airflow é uma plataforma para criar, programar e monitorar fluxos de trabalho programaticamente.

Use o Airflow para criar fluxos de trabalho como gráficos acíclicos dirigidos (DAGs, na sigla em inglês) de tarefas. O programador do Airflow executa suas tarefas em uma matriz de workers enquanto segue as dependências especificadas.

Principais conceitos

DAG

Um gráfico acíclico dirigido é uma coleção das tarefas que você quer executar, organizadas para refletir as próprias relações e dependências.

Operador

É a descrição de uma única tarefa. Em geral, os operadores são atômicos. Por exemplo, o BashOperator é usado para executar o comando "bash".

Tarefa

Uma instância parametrizada de um operador. As tarefas são nós no DAG.

Instância de tarefa

Uma execução específica de uma tarefa, caracterizada como um DAG, uma tarefa e um ponto no tempo. Ela tem sempre um estado, por exemplo: running, success, failed, skipped etc.

Leia a Documentação sobre conceitos (em inglês) para saber mais.

Tarefa 3: definir o fluxo de trabalho

Agora vamos abordar o fluxo de trabalho usado. No Cloud Composer, os fluxos de trabalho são compostos de gráficos acíclicos dirigidos (DAGs). Os DAGs são definidos em arquivos Python padrão, armazenados na pasta DAG_FOLDER do Airflow. O Airflow executará o código em cada arquivo para criar dinamicamente os objetos DAG. É possível ter quantos DAGs quiser e usar cada um deles para descrever algumas tarefas. Em geral, cada DAG deve corresponder a um único fluxo de trabalho lógico.

  1. Abra uma nova janela do Cloud Shell clicando no ícone Ativar Cloud Shell no canto superior direito do console do Cloud.

  2. No Cloud Shell, use o nano (um editor de código) para criar o arquivo hadoop_tutorial.py:

nano hadoop_tutorial.py
  1. Confira abaixo o código do fluxo de trabalho hadoop_tutorial.py, também conhecido como DAG. Cole o código a seguir no arquivo hadoop_tutorial.py.
# [START composer_hadoop_tutorial] """Example Airflow DAG that creates a Cloud Dataproc cluster, runs the Hadoop wordcount example, and deletes the cluster. This DAG relies on three Airflow variables https://airflow.apache.org/concepts.html#variables * gcp_project - Google Cloud Project to use for the Cloud Dataproc cluster. * gce_zone - Google Compute Engine zone where Cloud Dataproc cluster should be created. * gcs_bucket - Google Cloud Storage bucket to use for result of Hadoop job. See https://cloud.google.com/storage/docs/creating-buckets for creating a bucket. """ import datetime import os from airflow import models from airflow.contrib.operators import dataproc_operator from airflow.utils import trigger_rule # Output file for Cloud Dataproc job. output_file = os.path.join( models.Variable.get('gcs_bucket'), 'wordcount', datetime.datetime.now().strftime('%Y%m%d-%H%M%S')) + os.sep # Path to Hadoop wordcount example available on every Dataproc cluster. WORDCOUNT_JAR = ( 'file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' ) # Arguments to pass to Cloud Dataproc job. input_file = 'gs://pub/shakespeare/rose.txt' wordcount_args = ['wordcount', input_file, output_file] yesterday = datetime.datetime.combine( datetime.datetime.today() - datetime.timedelta(1), datetime.datetime.min.time()) default_dag_args = { # Setting start date as yesterday starts the DAG immediately when it is # detected in the Cloud Storage bucket. 'start_date': yesterday, # Para enviar e-mail em caso de falha ou nova tentativa, defina o argumento 'email' para seu e-mail e ative # essa opção aqui. 'email_on_failure': False, 'email_on_retry': False, # Se uma tarefa falhar, faça uma nova tentativa depois de esperar pelo menos 5 minutos 'retries': 1, 'retry_delay': datetime.timedelta(minutes=5), 'project_id': models.Variable.get('gcp_project') } # [START composer_hadoop_schedule] with models.DAG( 'composer_hadoop_tutorial', # Continue to run DAG once per day schedule_interval=datetime.timedelta(days=1), default_args=default_dag_args) as dag: # [END composer_hadoop_schedule] # Criar um cluster do Cloud Dataproc. create_dataproc_cluster = dataproc_operator.DataprocClusterCreateOperator( task_id='create_dataproc_cluster', # Dê um nome exclusivo ao cluster anexando a data agendada. # Confira https://airflow.apache.org/code.html#default-variables cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', num_workers=2, region='{{{project_0.default_region|region}}}', zone=models.Variable.get('gce_zone'), image_version='2.0', master_machine_type='e2-standard-2', worker_machine_type='e2-standard-2') # Execute o exemplo de contagem de palavras do Hadoop instalado no nó mestre do cluster do # Cloud Dataproc. run_dataproc_hadoop = dataproc_operator.DataProcHadoopOperator( task_id='run_dataproc_hadoop', region='{{{project_0.default_region|place_holder_text}}}', main_jar=WORDCOUNT_JAR, cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', arguments=wordcount_args) # Excluir o cluster do Cloud Dataproc. delete_dataproc_cluster = dataproc_operator.DataprocClusterDeleteOperator( task_id='delete_dataproc_cluster', region='{{{project_0.default_region|place_holder_text}}}', cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', # Definir trigger_rule como ALL_DONE faz com que o cluster seja excluído # mesmo que o job do Dataproc apresente falha. trigger_rule=trigger_rule.TriggerRule.ALL_DONE) # [START composer_hadoop_steps] # Definir as dependências de DAG. create_dataproc_cluster >> run_dataproc_hadoop >> delete_dataproc_cluster # [END composer_hadoop_steps] # [END composer_hadoop_tutorial]
  1. Salve e saia do nano pressionando CTRL+O, ENTER e CTRL+X nessa ordem.

Para orquestrar as três tarefas do fluxo de trabalho, o DAG importa os operadores abaixo:

  • DataprocClusterCreateOperator: cria um cluster do Cloud Dataproc.
  • DataProcHadoopOperator: envia um job de contagem de palavras do Hadoop e grava os resultados em um bucket do Cloud Storage.
  • DataprocClusterDeleteOperator: exclui o cluster para evitar cobranças contínuas do Compute Engine.

As tarefas são executadas sequencialmente, como mostra esta seção do arquivo:

# Definir dependências do DAG. create_dataproc_cluster >> run_dataproc_hadoop >> delete_dataproc_cluster

O nome do DAG é hadoop_tutorial, e ele é executado uma vez por dia:

with models.DAG( 'composer_hadoop_tutorial', # Continue executando o DAG uma vez ao dia schedule_interval=datetime.timedelta(days=1), default_args=default_dag_args) as dag:

Como o código start_date transmitido para default_dag_args está definido como yesterday, o Cloud Composer programa o fluxo de trabalho para iniciar imediatamente após o DAG ser carregado.

Tarefa 4: consultar as informações do ambiente

  1. Volte ao Composer para verificar o status do ambiente.

  2. Depois que seu ambiente for criado, clique no nome dele (highcpu) para conferir os detalhes.

Em Detalhes do ambiente, você vê o URL da interface da Web do Airflow, o ID do cluster do Kubernetes Engine e um link para a pasta de DAGs, que está armazenada no seu bucket.

Observação: o Cloud Composer só programa os fluxos de trabalho que estão na pasta /dags.

Clique em Verificar meu progresso para conferir o objetivo.

Crie o ambiente do Cloud Composer.

Tarefa 5: usar a interface do Airflow

Para acessar a interface da Web do Airflow pelo console do Cloud, siga estas etapas:

  1. Volte para a página Ambientes.
  2. Na coluna Servidor da Web do Airflow do ambiente, clique em Airflow.
  3. Clique nas suas credenciais do laboratório.
  4. A interface da Web do Airflow será aberta em uma nova janela do navegador.

Tarefa 6: definir variáveis do Airflow

As variáveis do Airflow são um conceito específico da plataforma e diferente das variáveis de ambiente.

  1. Selecione Admin > Variáveis na barra de menus do Airflow e clique em + (Adicionar um novo registro).

  2. Crie as variáveis gcp_project, gcs_bucket e gce_zone do Airflow:

CHAVE

VALOR

Detalhes

gcp_project

O projeto do Google Cloud que você está usando neste guia de início rápido.

gcs_bucket

gs://

Este é o nome do bucket do Cloud Storage que você criou anteriormente, que deve ser igual ao ID do projeto, a menos que você o altere. Esse bucket armazena a resposta dos jobs do Hadoop a partir do Dataproc.

gce_zone

Essa é a zona do Compute Engine em que o cluster do Cloud Dataproc será criado. Para escolher outra opção, consulte Regiões e zonas disponíveis.

Observação: depois de inserir o registro, clique em Salvar e selecione + para criar um novo registro.

A tabela de variáveis será semelhante a esta no final:

Tabela com a lista de variáveis mostrando três chaves: gce_zone, gcp_project e gcs_bucket, além dos valores associados, a descrição e o status de criptografia delas

Tarefa 7: fazer upload do DAG para o Cloud Storage

Para fazer upload do DAG, faça o upload de uma cópia do arquivo hadoop_tutorial.py para o bucket do Cloud Storage que foi criado automaticamente quando você criou o ambiente.

  1. Para verificar isso, acesse Composer > Ambientes.

  2. Clique no ambiente criado anteriormente para conferir os detalhes dele.

  3. Clique em Configuração do ambiente.

  4. Encontre DAGs folder e copie o valor que vai substituir <DAGs_folder_path> no comando abaixo e execute-o no Cloud Shell:

gsutil cp hadoop_tutorial.py <DAGs_folder_path>

dags_folder

O Cloud Composer automaticamente programa e adiciona o DAG ao Airflow. As alterações no DAG levam de três a cinco minutos para serem feitas. O fluxo de trabalho passará a se chamar composer_hadoop_tutorial.

Você poderá ver o status da tarefa na interface da Web do Airflow.

Clique em Verificar meu progresso para conferir o objetivo.

Faça upload do DAG no Cloud Storage.

Como o DAG é executado

Quando estiver na pasta dags no Cloud Storage, o arquivo DAG será analisado pelo Cloud Composer. Se nenhum erro for encontrado, o nome do fluxo de trabalho será exibido na lista de DAGs e entrará na fila para ser executado imediatamente.

Verifique se você está na guia DAGs na interface da Web do Airflow. É preciso esperar alguns minutos até que esse processo seja concluído. Atualize o navegador para acessar as informações mais recentes.

  1. No Airflow, clique em composer_hadoop_tutorial para abrir a página de detalhes do DAG. Ela inclui uma representação gráfica das tarefas e dependências do fluxo de trabalho.

  2. Para acessar este tipo de exibição, clique em Graph na barra de ferramentas. Passe o cursor sobre a representação gráfica de cada tarefa para conferir o status correspondente. A borda das tarefas também indica o status: verde = em execução, vermelha = falha etc.

  3. Se necessário, ative a opção Auto refresh ou clique no ícone Refresh para mostrar as informações mais recentes. A borda dos processos muda de cor para indicar o estado.

Se a cor ao redor de create_dataproc_cluster mudar e o estado não for "running", execute o fluxo de trabalho de novo na visualização Graph. Se o estado for "running", não será necessário aplicar as 3 etapas abaixo.

  1. Clique no gráfico create_dataproc_cluster.
  2. Clique em Clear para redefinir as três tarefas.
  3. Depois clique em OK para confirmar.

A cor ao redor de create_dataproc_cluster mudará para refletir o estado "running".

Você também pode monitorar o processo no console do Cloud.

  1. Assim que o status de create_dataproc_cluster mudar para "running", acesse o Menu de navegação > Dataproc e clique em:
  • Clusters para monitorar a criação e a exclusão de clusters. O cluster criado pelo fluxo de trabalho é efêmero e será excluído como parte da última tarefa após a execução do fluxo;
  • Jobs para monitorar o job de contagem de palavras do Apache Hadoop. Clique no ID do job para ver a saída do registro dele.
  1. Quando o Dataproc alcançar o estado "running", volte para o Airflow e clique em Refresh para conferir se o cluster está completo.

  2. Ao final do processo run_dataproc_hadoop, acesse o Menu de navegação > Cloud Storage > Buckets e clique no nome do seu bucket para conferir os resultados da contagem de palavras na pasta wordcount.

Selecione Verificar meu progresso para conferir o objetivo.

Como o DAG é executado.

Teste seus conhecimentos

Faça nosso teste para avaliar o quanto você sabe sobre o Google Cloud Platform.

Excluir ambiente do Cloud Composer

  1. Retorne à página Ambientes no Composer.
  2. Marque a caixa de seleção ao lado do ambiente do Composer.
  3. Clique em EXCLUIR.
  4. Confirme o pop-up clicando em EXCLUIR novamente.

Parabéns!

Parabéns! Neste laboratório, você criou um ambiente do Cloud Composer, fez upload de um DAG para o Cloud Storage e executou um fluxo de trabalho que criou um cluster do Cloud Dataproc, executou um job de contagem de palavras do Hadoop e excluiu o cluster. Você também aprendeu sobre o Airflow e os conceitos básicos, além de analisar a interface da web do Airflow. Agora você pode usar o Cloud Composer para criar e gerenciar seus fluxos de trabalho.

Próximas etapas

Este laboratório faz parte de uma série chamada Qwik Starts. Ela foi desenvolvida para apresentar a você alguns dos recursos disponíveis no Google Cloud. Pesquise "Qwik Starts" no catálogo de laboratórios para encontrar algum que seja do seu interesse.

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 18 de dezembro de 2023

Laboratório testado em 18 de dezembro de 2023

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.