arrow_back

Processamento de dados de streaming: pipelines de dados de streaming no Bigtable

Acesse mais de 700 laboratórios e cursos

Processamento de dados de streaming: pipelines de dados de streaming no Bigtable

Laboratório 2 horas universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Visão geral

Neste laboratório, você vai usar o Dataflow para coletar eventos de tráfego de dados simulados do sensor de tráfego disponibilizados pelo Google Cloud Pub/Sub e gravar os eventos em uma tabela do Bigtable.

Observação: durante a criação deste módulo, os pipelines de streaming não estavam disponíveis no SDK do Dataflow para Python. Por isso, os laboratórios de streaming estão escritos em Java.

Objetivos

Neste laboratório, você realizará as seguintes tarefas:

  • Iniciar um pipeline do Dataflow para ler no Pub/Sub e gravar no Bigtable
  • Abrir um shell do HBase para consultar o banco de dados do Bigtable.

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:
{project-number}-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: preparação

Você vai executar o simulador do sensor na VM de treinamento. Para isso, serão necessários vários arquivos e algumas configurações do ambiente.

Abra o terminal SSH e acesse a VM de treinamento

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

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

  3. À direita, na coluna Conectar, clique em SSH para abrir uma janela do terminal. Em seguida, clique em Conectar.

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

Verifique se a inicialização foi concluída

  • A instância training-vm está instalando alguns softwares em segundo plano. Para confirmar que as instalações foram concluídas, verifique o conteúdo do novo diretório:
ls /training

Se a resposta ao comando de lista, ls, for parecida com a imagem abaixo, a configuração está pronta. Caso a lista não esteja completa, espere alguns minutos e tente novamente.

Observação: pode levar de dois a três minutos para todas as ações em segundo plano serem concluídas. student-04-2324ale56789@training-vm:~$ ls /training bq-magic.sh project_env.sh sensor_magic.sh student-04-2324ale56789@training-vm:~$

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

  • Agora faça o download de um repositório de código para usar neste laboratório:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Defina as variáveis de ambiente

  • No terminal SSH de training-vm, digite o seguinte:
source /training/project_env.sh

Esse script define as variáveis de ambiente $DEVSHELL_PROJECT_ID e $BUCKET.

Prepare os arquivos do guia de início rápido do HBase

  • No terminal SSH de training_vm, execute o script para fazer o download dos arquivos do guia de início rápido e descompactá-los. Você vai precisar deles para executar o shell do HBase depois.
cd ~/training-data-analyst/courses/streaming/process/sandiego ./install_quickstart.sh

Clique em "Verificar meu progresso" para conferir o objetivo. Copie os arquivos de amostra para o diretório principal training_vm

Tarefa 2: simule os dados do sensor de tráfego no Pub/Sub

  • No terminal SSH de training_vm, inicie o simulador do sensor. O script lê os dados de amostra de um arquivo csv e os publica no Pub/Sub:
/training/sensor_magic.sh

Esse comando enviará 1 hora de dados em 1 minuto. Deixe o script executando no terminal atual.

Abra um segundo terminal SSH e conecte-se à VM de treinamento

  1. No canto superior direito do terminal SSH de training-vm, clique no botão em forma de engrenagem (Ícone "Configurações") e selecione Nova conexão no menu suspenso. Uma nova janela de terminal será aberta.

A nova sessão do terminal não terá as variáveis de ambiente necessárias. Conclua as próximas etapas para definir essas variáveis.

  1. No novo terminal SSH de training-vm, digite o seguinte:
source /training/project_env.sh

Clique em "Verificar meu progresso" para conferir o objetivo. Simule os dados do sensor de tráfego no Pub/Sub

Tarefa 3: inicie o pipeline do Dataflow

  1. Para garantir que as APIs e permissões sejam definidas adequadamente, execute este bloco de código no Cloud Shell:
gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com
  1. No segundo terminal SSH de training-vm, navegue até o diretório do laboratório. Examine o script no Cloud Shell ou use o nano. Não faça alterações no código:
cd ~/training-data-analyst/courses/streaming/process/sandiego nano run_oncloud.sh

O que o script faz?

O script usa três argumentos necessários: project id, bucket name, classname e, possivelmente, um 4º argumento. Nesta parte do laboratório, usaremos a opção --bigtable, que instruirá o pipeline a gravar no Cloud Bigtable.

  1. Pressione CTRL+X para sair.

  2. Execute estes comandos para criar a instância do Bigtable:

cd ~/training-data-analyst/courses/streaming/process/sandiego export ZONE={{{project_0.startup_script.gcp_zone|Lab GCP Zone}}} ./create_cbt.sh
  1. Execute estes comandos no pipeline do Dataflow para ler no Pub/Sub e gravar no Cloud Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego export REGION={{{project_0.startup_script.gcp_region|Lab GCP Region}}} ./run_oncloud.sh $DEVSHELL_PROJECT_ID $BUCKET CurrentConditions --bigtable

Exemplo de execução correta:

[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 47.582 s [INFO] Finished at: 2018-06-08T21:25:32+00:00 [INFO] Final Memory: 58M/213M [INFO] ------------------------------------------------------------------------

Clique em "Verificar meu progresso" para conferir o objetivo. Inicie o pipeline do Dataflow.

Tarefa 4: analise o pipeline

  1. Volte para a guia do Console no navegador. No Menu de navegação (Ícone do menu de navegação), clique em Dataflow e no novo job do pipeline. Confirme que o job do pipeline está listado e sendo executado sem erros.

  2. Encontre a etapa write:cbt no gráfico do pipeline e clique na seta para baixo à direita para ver o gravador em ação. Clique no gravador. Confira as opções do Bigtable no Resumo da etapa.

Tarefa 5: consulte os dados do Bigtable

  1. No segundo terminal SSH de training-vm, execute o script quickstart.sh para iniciar o shell do HBase:
cd ~/training-data-analyst/courses/streaming/process/sandiego/quickstart ./quickstart.sh
  1. Quando o script estiver completo, você verá um prompt do shell HBase como este:
hbase(main):001:0>
  1. No prompt do shell do HBase, digite a consulta a seguir para recuperar duas linhas da tabela do Bigtable que foi preenchida pelo pipeline. Pode levar alguns minutos para os resultados retornarem pela consulta HBase.

Repita o comando "scan" até que retorne uma lista de linhas:

scan 'current_conditions', {'LIMIT' => 2}
  1. Verifique a saída. Observe que cada linha está dividida em combinações de coluna, data/hora e valor.

  2. Execute outra consulta. Desta vez, foque na coluna lane: speed, limite ela a 10 linhas e especifique rowid patterns para a verificação de linhas iniciais e finais:

scan 'current_conditions', {'LIMIT' => 10, STARTROW => '15#S#1', ENDROW => '15#S#999', COLUMN => 'lane:speed'}
  1. Verifique a saída. Observe que são 10 combinações de coluna, data/hora e valor, todas referentes à rodovia 15. Além disso, a coluna está restrita a lane: speed.

  2. Você poderá fazer outras consultas se souber usar a sintaxe. Quando terminar, digite quit para sair do shell:

quit

Tarefa 6: limpeza

  1. No segundo terminal SSH de training-vm, execute o seguinte script para excluir a instância Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego ./delete_cbt.sh

Se você precisar confirmar, digite Y.

  1. Na página do Dataflow no Console do Cloud, clique no nome do job do pipeline.

  2. Clique em Parar na barra de menus superior. Selecione Cancelar e clique em Parar job.

  3. Volte para o primeiro terminal SSH com o editor e digite Ctrl-C para interrompê-lo.

  4. No console do BigQuery, clique nos três pontos próximos ao conjunto de dados demos e, em seguida, em Excluir

  5. Digite delete e clique em Excluir.

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 2020 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.

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

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.