Instruções e requisitos de configuração do laboratório
Proteja sua conta e seu progresso. Sempre use uma janela anônima do navegador e suas credenciais para realizar este laboratório.

Análise de dados sem servidor com o Dataflow: entradas secundárias (Python)

Laboratório 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Avançado
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Este conteúdo ainda não foi otimizado para dispositivos móveis.
Para aproveitar a melhor experiência, acesse nosso site em um computador desktop usando o link enviado a você por e-mail.

Visão geral

Neste laboratório, você aprenderá a carregar dados no BigQuery e a executar consultas complexas. Em seguida, você vai executar um pipeline do Dataflow que processa as operações Map e Reduce, usa entradas secundárias e transmite para o BigQuery.

Objetivo

Neste laboratório, você vai aprender a usar o BigQuery como uma fonte de dados no Dataflow e os resultados de um pipeline como uma entrada secundária para um outro pipeline.

  • Ler dados do BigQuery no Dataflow
  • Usar a saída de um pipeline como entrada secundária para outro pipeline

Configuração

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Verifique as permissões do projeto

Antes de começar a trabalhar no Google Cloud, veja se o projeto tem as permissões corretas no Identity and Access Management (IAM).

  1. No console do Google Cloud, em Menu de navegação (Ícone do menu de navegação), selecione IAM e administrador > IAM.

  2. Confira se a conta de serviço padrão do Compute {project-number}-compute@developer.gserviceaccount.com está na lista e recebeu o papel de editor. O prefixo da conta é o número do projeto, que está no Menu de navegação > Visão geral do Cloud > Painel.

Nome da conta de serviço padrão e status do editor do Compute Engine destacados na página com a guia "Permissões"

Observação: se a conta não estiver no IAM ou não tiver o papel de editor, siga as etapas abaixo.
  1. No console do Google Cloud, em Menu de navegação, clique em Visão geral do Cloud > Painel.
  2. Copie o número do projeto, por exemplo, 729328892908.
  3. Em Menu de navegação, clique em IAM e administrador > IAM.
  4. Clique em Permitir acesso, logo abaixo de Visualizar por principais na parte de cima da tabela de papéis.
  5. Em Novos principais, digite:
{número-do-projeto}-compute@developer.gserviceaccount.com
  1. Substitua {project-number} pelo número do seu projeto.
  2. Em Papel, selecione Projeto (ou Básico) > Editor.
  3. Clique em Save.

Tarefa 1: preparar

Atribua o papel de desenvolvedor do Dataflow

Se a conta não tiver o papel de Desenvolvedor de Dataflow, siga estas instruções para conceder a função necessária:

  1. Em Menu de navegação, clique em IAM e administrador > IAM.

  2. Selecione a conta de serviço padrão do Compute Engine {project-number}-compute@developer.gserviceaccount.com.

  3. Clique na opção Editar (ícone de lápis no lado direito).

  4. Clique em Adicionar outro papel.

  5. Clique na área demarcada para Selecionar um papel. Na opção Digite para filtrar, insira e selecione Desenvolvedor de Dataflow.

  6. Clique em Salvar.

Página "Editar permissões"

Verifique se a API Dataflow está ativada

  1. Na barra de título do Console do Google Cloud, clique em Ativar o Cloud Shell. Se for solicitado, clique em Continuar.

  2. Execute os seguintes comandos para garantir que a API Dataflow seja ativada corretamente no projeto. Se for solicitado, clique em Autorizar:

gcloud services disable dataflow.googleapis.com gcloud services enable dataflow.googleapis.com

Abra o terminal SSH e acesse a VM de treinamento

Você vai executar todos os códigos usando uma VM de treinamento selecionada.

  1. No console, acesse o menu de navegação (Ícone do menu de navegação) e clique em Compute Engine > Instâncias de VM.

  2. Encontre a linha com a instância training-vm.

  3. À direita, na coluna Conectar, clique em SSH para abrir uma janela do terminal. Se for solicitado, clique em Autorizar.

  4. Neste laboratório, você vai adicionar comandos da CLI em training-vm.

Faça o download do repositório do código

  • Agora você vai fazer o download de um repositório de código para usar neste laboratório. No terminal SSH training-vm, insira o código a seguir:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Crie um bucket do Cloud Storage

Siga estas instruções para criar um bucket.

  1. No console, acesse o Menu de navegação e clique em Cloud Storage > Buckets.
  2. Clique em Criar.
  3. Especifique os valores abaixo e não mude as outras configurações padrão:
Propriedade Valor (digite o valor ou selecione a opção conforme especificado)
Nome
Tipo de local > Região
  1. Clique em Criar.

  2. Se você receber o prompt O acesso público será bloqueado, selecione Aplicar a prevenção do acesso público neste bucket e clique em Confirmar.

  3. No terminal SSH training-vm, insira o seguinte para criar três variáveis de ambiente: uma chamada "BUCKET", outra chamada "PROJECT" e a última chamada "REGION". Confira se as três existem usando o comando "echo":

BUCKET="{{{project_0.project_id|project_place_holder_text}}}" echo $BUCKET PROJECT="{{{project_0.project_id|project_place_holder_text}}}" echo $PROJECT REGION="{{{project_0.startup_script.gcp_region|region_place_holder_text}}}" echo $REGION

Tarefa 2: usar a consulta do BigQuery

  1. No Console, acesse o Menu de navegação (Ícone do menu de navegação) e clique em BigQuery.
  2. Se for solicitado, clique em Concluído.
  3. Selecione + (consulta SQL) e digite a seguinte consulta:
SELECT content FROM `cloud-training-demos.github_repos.contents_java` LIMIT 10
  1. Clique em Executar.

O que foi retornado?

A tabela cloud-training-demos.github_repos.contents_java do BigQuery possui o conteúdo (e alguns metadados) de todos os arquivos Java presentes no GitHub em 2016.

  1. Para descobrir quantos arquivos Java essa tabela contém, insira a seguinte consulta e clique em Executar:
SELECT COUNT(*) FROM `cloud-training-demos.github_repos.contents_java`

Quantos arquivos existem nesse conjunto de dados?

Você quer processar esse conjunto de dados localmente ou na nuvem?

Tarefa 3: explorar o código do pipeline

  1. Volte ao terminal SSH training-vm, acesse o diretório /training-data-analyst/courses/data_analysis/lab2/python e visualize o arquivo JavaProjectsThatNeedHelp.py.

Abra o arquivo com o Nano e não faça alterações no código. Para sair do Nano, pressione Ctrl+X.

cd ~/training-data-analyst/courses/data_analysis/lab2/python nano JavaProjectsThatNeedHelp.py

Consulte o diagrama abaixo ao ler o código. O pipeline tem esta aparência:

Diagrama do pipeline

  1. Responda às seguintes perguntas:
  • Analisando a documentação da classe na parte superior, qual é a finalidade desse pipeline?
  • De onde vem o conteúdo?
  • O que o lado esquerdo do pipeline faz?
  • O que o lado direito do pipeline faz?
  • O que o ToLines faz? Dica: examine o campo de conteúdo do resultado do BigQuery.
  • Por que o resultado de ReadFromBQ é armazenado em uma classe PCollection nomeada em vez de ser transmitido diretamente para outra etapa?
  • Quais são as duas ações realizadas na PCollection gerada por ReadFromBQ?
  • Se o arquivo tem 3 FIXMEs e 2 TODOs (em linhas diferentes) no próprio conteúdo, quantas chamadas de ajuda estão associadas a ele?
  • Se um arquivo está no pacote com.google.devtools.build, quais são os pacotes associados a ele?
  • popular_packages e help_packages são PCollections nomeadas e elas são usadas na etapa "Scores" (entradas secundárias) do pipeline. Qual delas é a entrada principal e qual é a entrada secundária?
  • Qual é o método usado na etapa "Scores"?
  • A entrada secundária será convertida em qual tipo de dados Python na etapa "Scores"?
Observação: a versão Java desse programa é um pouco diferente da versão Python. O SDK para Java aceita AsMap e o SDK para Python não, mas aceita AsDict. No Java, a PCollection é convertida em "View" como uma etapa preparatória antes de ser usada. No Python, a conversão da PCollection ocorre na etapa em que ela é usada.

Tarefa 4: executar o pipeline

  1. No programa, especifique os valores de "BUCKET" e "PROJECT" e "REGION" e se você quer executar o pipeline localmente, usando --DirectRunner, ou na nuvem, usando --DataFlowRunner.

  2. Execute o pipeline localmente inserindo o seguinte no terminal SSH training-vm:

python3 JavaProjectsThatNeedHelp.py --bucket $BUCKET --project $PROJECT --region $REGION --DirectRunner Observação: se algum aviso como 'BeamDeprecationWarning' for mostrado, ignore e continue.
  1. Depois que a execução do pipeline terminar, no Menu de navegação (Ícone do menu de navegação), clique em Cloud Storage > Buckets e selecione seu bucket. Você vai encontrar os resultados na pasta javahelp. Clique no objeto Result para ver a saída.

  2. Execute o pipeline na nuvem inserindo o seguinte no terminal SSH training-vm:

python3 JavaProjectsThatNeedHelp.py --bucket $BUCKET --project $PROJECT --region $REGION --DataFlowRunner Observação: se algum aviso como 'BeamDeprecationWarning' for mostrado, ignore e continue.
  1. Volte para a guia do console no navegador. No Menu de navegação (Ícone do menu de navegação), clique em Mostrar todos os produtos e selecione Dataflow na seção "Análise".

  2. Clique no job para monitorar o progresso.

  3. Depois que a execução do pipeline terminar, no Menu de navegação (Ícone do menu de navegação), clique em Cloud Storage > Buckets e selecione seu bucket. Você vai encontrar os resultados na pasta javahelp. Clique no objeto Result para ver a saída. O nome do arquivo é o mesmo, mas a hora de criação dele é mais recente.

Clique em Verificar meu progresso para ver o objetivo. Execute o pipeline

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

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

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

A melhor maneira de executar este laboratório é usando uma janela de navegação anônima ou privada. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.