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.
Faça login no Qwiklabs em uma janela anônima.
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.
Quando tudo estiver pronto, clique em Começar o laboratório.
Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.
Clique em Abrir Console do Google.
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.
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).
No console do Google Cloud, em Menu de navegação (), selecione IAM e administrador > IAM.
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.
Observação: se a conta não estiver no IAM ou não tiver o papel de editor, siga as etapas abaixo.
No console do Google Cloud, em Menu de navegação, clique em Visão geral do Cloud > Painel.
Copie o número do projeto, por exemplo, 729328892908.
Em Menu de navegação, clique em IAM e administrador > IAM.
Clique em Permitir acesso, logo abaixo de Visualizar por principais na parte de cima da tabela de papéis.
Substitua {project-number} pelo número do seu projeto.
Em Papel, selecione Projeto (ou Básico) > Editor.
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
No Console, acesse o Menu de navegação () e clique em Compute Engine > Instâncias de VMs.
Encontre a linha com a instância training-vm.
À 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:
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
No canto superior direito do terminal SSH de training-vm, clique no botão em forma de engrenagem () 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.
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
Para garantir que as APIs e permissões sejam definidas adequadamente, execute este bloco de código no Cloud Shell:
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.
Pressione CTRL+X para sair.
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
Execute estes comandos no pipeline do Dataflow para ler no Pub/Sub e gravar no Cloud Bigtable:
[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
Volte para a guia do Console no navegador. No 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.
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
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
Quando o script estiver completo, você verá um prompt do shell HBase como este:
hbase(main):001:0>
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}
Verifique a saída. Observe que cada linha está dividida em combinações de coluna, data/hora e valor.
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:
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.
Você poderá fazer outras consultas se souber usar a sintaxe. Quando terminar, digite quit para sair do shell:
quit
Tarefa 6: limpeza
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.
Na página do Dataflow no Console do Cloud, clique no nome do job do pipeline.
Clique em Parar na barra de menus superior. Selecione Cancelar e clique em Parar job.
Volte para o primeiro terminal SSH com o editor e digite Ctrl-C para interrompê-lo.
No console do BigQuery, clique nos três pontos próximos ao conjunto de dados demos e, em seguida, em Excluir
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.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
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.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
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.
Processamento de dados de streaming: dados de streaming no Bigtable
Duração:
Configuração: 1 minutos
·
Tempo de acesso: 120 minutos
·
Tempo para conclusão: 120 minutos