Neste laboratório, você vai usar o Dataflow e o Apache Beam para migrar dados para o Spanner.
Objetivos
Neste laboratório, você vai aprender a:
Criar pipelines de ETL usando o Apache Beam;
Executar pipelines do Apache Beam usando o Google Cloud Dataflow.
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
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 pessoal do Google Cloud neste laboratório para evitar cobranças extras.
Ative o Google Cloud Shell
O Google Cloud Shell é uma máquina virtual com ferramentas de desenvolvimento. Ele conta com um diretório principal permanente de 5 GB e é executado no Google Cloud.
O Google Cloud Shell permite acesso de linha de comando aos seus recursos do GCP.
No Console do GCP, na barra de ferramentas superior direita, clique no botão Abrir o Cloud Shell.
Clique em Continue (continuar):
Demora alguns minutos para provisionar e conectar-se ao ambiente. Quando você está conectado, você já está autenticado e o projeto é definido como seu PROJECT_ID . Por exemplo:
gcloud é a ferramenta de linha de comando do Google Cloud Platform. Ele vem pré-instalado no Cloud Shell e aceita preenchimento com tabulação.
É possível listar o nome da conta ativa com este comando:
gcloud auth list
Saída:
ACTIVE:*
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
Toset the active account, run:
$ gcloud config set account `ACCOUNT`
É possível listar o ID de projeto com este comando:
gcloud config list project
Saída:
[core]
project =<project_ID>
Exemplo de saída:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Tarefa 1: Criar um pipeline do Apache Beam para importar dados para o Spanner
Na barra de título do console do Google Cloud, clique em Ativar o Cloud Shell (). Caso solicitado, clique em Continuar.
Execute o seguinte comando para definir o ID do projeto:
gcloud config set project {{{project_0.project_id|placeholder_project_id}}}
Execute os comandos a seguir para fazer o download dos arquivos necessários para este laboratório:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
cd training-data-analyst/courses/understanding_spanner/dataflow
Execute o script a seguir para criar um banco de dados do Spanner.
Execute o comando a seguir para conferir o esquema. Neste laboratório, há apenas uma tabela e os campos PetID e OwnerID são inteiros, não strings.
cat pets-db-schema.sql
Execute o comando a seguir para conferir os dados importados. Observe que as chaves primárias e externas usam contadores. Como você aprendeu no curso, esse é um antipadrão ao usar o Spanner.
Para resolver isso, use um pipeline do Dataflow escrito no Apache Beam para inverter os bits dos inteiros antes de importar os dados para o Spanner.
Isso resolve o problema dos números inteiros e mantém as relações.
cat pets.csv
Clique no botão Abrir editor e abra o arquivo de código training-data-analyst/courses/understanding_spanner/dataflow/csv-to-spanner.py. Observe que o pipeline é criado na função principal (linhas 53 a 68).
O pipeline lê o arquivo CSV, inverte os bits nos campos PetID e OwnerID e grava os dados no Spanner.
A função reverse_bits começa na linha 21.
Volte ao terminal. Vamos tentar executar esse pipeline. Primeiro, instale os pré-requisitos do Python com os seguintes comandos.
Execute o pipeline. Esse código executa o pipeline localmente no Cloud Shell. Não é necessário acessar o Dataflow.
python csv-to-spanner.py
Quando o pipeline for concluído, execute a consulta a seguir para conferir os resultados:
gcloud spanner databases execute-sql pets-db --instance=test-spanner-instance --sql='SELECT * FROM Pets'
Execute o comando a seguir para remover os dados que você acabou de adicionar:
gcloud spanner databases execute-sql pets-db --instance=test-spanner-instance --sql='DELETE FROM Pets WHERE True'
Em seguida, você vai executar o código usando o serviço do Dataflow.
Tarefa 2: Executar um job do Dataflow
Para executar o job usando o Dataflow, você precisa de um bucket do Cloud Storage para entradas, preparação e saídas. Use o comando abaixo para criar um bucket que contém o ID do projeto (isso garante um nome exclusivo para o bucket). Além disso, copie o arquivo pets.csv para o bucket. Execute cada um deles individualmente, não juntos.
Use o menu de navegação para acessar os jobs do Dataflow. Pode levar alguns instantes para que o job seja mostrado. Clique no botão Atualizar até que ele apareça. Depois, clique no job para conferir os detalhes. A execução do job no serviço do Dataflow leva vários minutos, porque ele cria um cluster ou uma ou mais VMs para enviar o job.
Como antes, verifique se os dados foram adicionados ao banco de dados do Spanner. Execute a consulta a seguir para conferir os dados carregados:
gcloud spanner databases execute-sql pets-db --instance=test-spanner-instance --sql='SELECT * FROM Pets'
Exclua a instância do Spanner para não receber mais cobranças por ela.
Parabéns! Você usou o Dataflow e o Apache Beam para migrar dados para o Spanner.
Terminar o laboratório
Após terminar seu laboratório, clique em End Lab. O Qwiklabs removerá os recursos usados e limpará a conta para você.
Você poderá classificar sua experiência neste laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Submit.
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 Support.
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 empresas e produtos podem ser marcas registradas das 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ê vai usar o Dataflow e o Apache Beam para migrar dados para o Spanner.
Duração:
Configuração: 0 minutos
·
Tempo de acesso: 60 minutos
·
Tempo para conclusão: 60 minutos