Neste laboratório, você vai abrir um projeto do Dataflow, usar a filtragem do pipeline e executar o pipeline localmente e na nuvem.
Objetivos
Neste laboratório, você aprenderá a criar um pipeline simples do Dataflow e a executá-lo localmente e na nuvem.
Configurar um projeto do Dataflow em Java usando o Maven
Criar um pipeline simples em Java
Executar a consulta na máquina local
Executar a consulta na nuvem
Configuração e requisitos
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.
Ative o Google Cloud Shell
O Google Cloud Shell é uma máquina virtual com 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.
No console do Cloud, clique no botão "Abrir o Cloud Shell" na barra de ferramentas superior direita.
Clique em Continuar.
O provisionamento e a conexão do ambiente podem demorar um pouco. Quando você estiver conectado, já estará autenticado, e o projeto estará definido com seu PROJECT_ID. Exemplo:
A gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
Para listar o nome da conta ativa, use este comando:
Use o editor de código do Google Cloud Shell para facilitar a criação e edição de diretórios e arquivos na instância do Cloud Shell.
Clique em Abrir editor depois de ativar o Google Cloud Shell.
Agora há três interfaces disponíveis:
O editor de código do Cloud Shell
O console, que pode ser alternado pelo Cloud Shell quando você clica nas guias correspondentes
A linha de comando do Cloud Shell, que você pode acessar clicando em Abrir terminal no Console
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
Verificar o bucket e fazer o download do código do laboratório
Etapas específicas devem ser concluídas para a execução bem-sucedida desse laboratório:
Verifique se há um bucket do Cloud Storage (um desses foi criado para você automaticamente quando o ambiente do laboratório foi iniciado).
Na barra de título do console do Google Cloud, clique em Ativar o Cloud Shell. Se for solicitado, clique em Continuar. Clone o repositório com o código do laboratório no GitHub usando o comando a seguir:
No Cloud Shell, digite o seguinte para criar duas variáveis de ambiente. Uma chamada "BUCKET" e outra chamada "REGION". Confira se as duas existem usando o comando "echo":
O objetivo deste laboratório é você se familiarizar com a estrutura de um projeto do Dataflow e aprender a executar um pipeline do Dataflow. Você usará a ferramenta de build avançada Maven para criar um novo projeto do Dataflow.
Volte para a guia do Cloud Shell no navegador. No Cloud Shell, navegue até o diretório deste laboratório:
cd ~/training-data-analyst/courses/data_analysis/lab2
No editor de código do Cloud Shell, navegue até o diretório
/training-data-analyst/courses/data_analysis/lab2.
Em seguida, selecione o caminho javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/
e visualize o arquivo Grep.java.
Como alternativa, visualize o arquivo com o nano. Não faça alterações no código.
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/
nano Grep.java
Você sabe responder a estas perguntas sobre o arquivo Grep.java?
Quais arquivos estão sendo lidos?
Qual é o termo de pesquisa?
Para onde vai a resposta?
Há três instruções apply no pipeline:
O que o primeiro apply() faz?
O que o segundo apply() faz?
De onde vem a entrada dele?
O que ele faz com essa entrada?
O que ele escreve na resposta?
Para onde é enviada a resposta?
O que o terceiro apply() faz?
Tarefa 4: execute o pipeline localmente
No Cloud Shell, cole o seguinte comando do Maven:
cd ~/training-data-analyst/courses/data_analysis/lab2
export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:$PATH
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp
mvn compile -e exec:java \
-Dexec.mainClass=com.google.cloud.training.dataanalyst.javahelp.Grep
O arquivo de saída vai ser output.txt. Se a resposta for muito grande, ela será fragmentada em partes separadas com nomes como: output-00000-of-00001. Se necessário, localize o arquivo correto verificando a hora em que foi criado:
No editor de código do Cloud Shell, navegue até o diretório /training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp
Edite o pipeline do Dataflow no arquivo Grep.java:
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp
Substitua as variáveis Input e Output pelo nome do seu bucket. Substitua as variáveis da seguinte maneira:
String input = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/*.java";
String outputPrefix = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/output";
Observação: verifique se você alterou as strings input e outputPrefix que já estão presentes no código-fonte. Não copie nem cole a linha inteira acima sem remover as strings iniciais, ou você vai acabar com duas variáveis iguais.
Linhas de exemplo antes da edição:
String input = "src/main/java/com/google/cloud/training/dataanalyst/javahelp/*.java";
String outputPrefix = "/tmp/output";
</ql-code-block output>
Exemplo de linhas após a edição contendo o nome do bucket de seu projeto:
String input = "gs://qwiklabs-gcp-your-value-bucket/javahelp/*.java";
</ql-code-block output>
String outputPrefix = "gs://qwiklabs-gcp-your-value-bucket/javahelp/output";
</ql-code-block output>
5. Analise o script para enviar o job do Dataflow para a nuvem:
cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp
cat run_oncloud1.sh
Qual é a diferença entre esse comando do Maven e o que é executado localmente?
Por ser um job pequeno, a execução na nuvem demora muito mais do que a execução local (de dois a três minutos).
Exemplo de conclusão da linha de comando:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:50 min
[INFO] Finished at: 2018-02-06T15:11:23-05:00
[INFO] Final Memory: 39M/206M
[INFO] ------------------------------------------------------------------------
Volte para a guia do console no navegador. No Menu de navegação (), clique em Dataflow e no job para monitorar o progresso.
Exemplo:
Espere o status do job mudar para Concluído. Nesse momento, o Cloud Shell exibirá um prompt da linha de comando.
Observação: se o job do Dataflow falhar na primeira vez, execute novamente o comando anterior para enviar um novo job do Dataflow para a nuvem
Examine a saída no bucket do Cloud Storage. No Menu de navegação (), clique em Cloud Storage > Buckets e depois no bucket.
Selecione o diretório javahelp. Esse job gera o arquivo output.txt. Se o arquivo for muito grande, ele vai ser fragmentado em várias partes com nomes como: output-0000x-of-000y. Para encontrar o arquivo mais recente, confira o nome ou o campo Última modificação. Clique no arquivo para visualizá-lo.
Você também pode fazer o download do arquivo no Cloud Shell e visualizá-lo:
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.
Neste laboratório, você abrirá um projeto do Dataflow, usará a filtragem do pipeline e executará o pipeline localmente e na nuvem usando Java.
Duração:
Configuração: 1 minutos
·
Tempo de acesso: 90 minutos
·
Tempo para conclusão: 90 minutos