Checkpoints
Create a Cloud SQL instance
/ 5
Whitelist the Cloud Shell instance to access your SQL instance
/ 5
Create a bts database and flights table using the create_table.sql file
/ 5
Como carregar dados de corridas de táxi no Google Cloud SQL 2.5
Visão geral
Neste laboratório, você aprenderá a importar dados de arquivos de texto CSV para o Cloud SQL e analisará alguns dados básicos usando consultas simples.
O conjunto de dados usado neste laboratório, disponibilizado pela NYC Taxi and Limousine Commission, inclui todas as corridas feitas em táxis amarelos e verdes na cidade de Nova York de 2009 até hoje, além de todas as corridas de veículos para locação (FHV, na sigla em inglês) de 2015 até hoje. Os registros contêm campos que coletam datas/horários de embarque e desembarque, os locais de embarque e desembarque, as distâncias percorridas, as tarifas detalhadas, os tipos de tarifas, os tipos de pagamentos e as contagens de passageiros informadas pelos motoristas.
Com esse conjunto de dados, podemos demonstrar diversos conceitos e técnicas da ciência de dados. Eles são usados em vários dos laboratórios do curso de engenharia de dados.
Objetivos
- Criar uma instância do Cloud SQL
- Criar um banco de dados do Cloud SQL
- Importar dados de texto para o Cloud SQL
- Verificar a integridade dos dados
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:
Saída:
Exemplo de saída:
- Para listar o ID do projeto, use este comando:
Saída:
Exemplo de saída:
Tarefa 1: como preparar o ambiente
- Crie as variáveis de ambiente, que serão usadas mais adiante no laboratório para seu ID do projeto, e o bucket de armazenamento que conterá seus dados:
Tarefa 2: Crie uma instância do Cloud SQL
- Para criar uma instância do Cloud SQL, use os seguintes comandos:
Esse processo leva alguns minutos.
Teste a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se ela tiver sido concluída corretamente, você vai receber uma pontuação de avaliação.
- Defina uma senha raiz para a instância do Cloud SQL:
-
Quando a senha for solicitada, digite
Passw0rd
e pressione Enter para atualizar a senha raiz. -
Agora crie uma variável de ambiente com o endereço IP do Cloud Shell:
- Autorize a instância do Cloud Shell a ter acesso de gerenciamento à sua instância SQL:
- Quando solicitado, pressione Y para aceitar a alteração.
Teste a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se ela tiver sido concluída corretamente, você vai receber uma pontuação de avaliação.
- Para saber o endereço IP da instância do Cloud SQL, execute o seguinte comando:
- Confira a variável MYSQLIP:
Na saída, você recebe um endereço IP.
- Para criar a tabela de corridas de táxi, faça login na interface de linha de comando
mysql
:
-
Quando uma senha for solicitada, digite
Passw0rd
. -
Cole o código abaixo na linha de comando para criar o esquema da tabela
trips
:
Teste a tarefa concluída
Clique em Verificar meu progresso para conferir a tarefa realizada. Se ela tiver sido concluída corretamente, você vai receber uma pontuação de avaliação.
- Na interface de linha de comando
mysql
, digite os seguintes comandos para confirmar a importação:
- Consulte a tabela
trips
:
Como ainda não há informações no banco de dados, um conjunto vazio vai aparecer.
- Saia do console interativo
mysql
:
Tarefa 3: adicionar dados à instância do Cloud SQL
Agora você copiará para o sistema local os arquivos CSV das corridas de táxi de Nova York que estão no Cloud Storage. Para manter o uso de recursos baixo, você trabalhará apenas com um subconjunto dos dados (cerca de 20 mil linhas).
- Execute estes comandos na linha de comando:
- Conecte-se ao console interativo
mysql
para carregar dados no arquivo local:
-
Quando uma senha for solicitada, digite
Passw0rd
. -
No console interativo
mysql
, escolha o banco de dados:
- Carregue os dados do arquivo CSV local usando
local-infile
:
Tarefa 4: verificar a integridade dos dados
Quando você importa dados de uma fonte, é sempre necessário verificar a integridade deles. Isso significa verificar se os dados estão de acordo com o que você esperava.
- Consulte a tabela
trips
para identificar as regiões de embarque exclusivas:
A consulta retornará 159 IDs exclusivos.
- Vamos começar a analisar a coluna
trip_distance
. Digite a seguinte consulta no console:
A expectativa é que a distância das corridas seja maior que 0 e menor que 1.600 km. A consulta indica uma distância máxima de 136 km, o que faz sentido, e uma distância mínima de 0, o que parece ser um bug.
- Quantas corridas no conjunto de dados têm a distância de 0?
Existem 155 corridas com essa característica no banco de dados. É preciso analisar melhor essas corridas. O valor pago delas é diferente de zero. Talvez sejam transações fraudulentas?
- Vamos tentar encontrar mais dados que não estejam de acordo com o esperado. Nossa expectativa é que a coluna
fare_amount
seja positiva. Digite a seguinte consulta para conferir se isso é verdade no banco de dados:
Serão retornadas 14 corridas. Essas corridas também precisam ser investigadas. Talvez haja uma explicação racional para a existência de corridas com números negativos. Mas a função do engenheiro de dados é garantir que não haja bugs no pipeline que poderiam causar esse resultado.
- Por fim, vamos investigar a coluna
payment_type
.
O resultado da consulta indica que há quatro tipos de pagamento, em que:
- O tipo de pagamento 1 tem 13.863 linhas.
- O tipo de pagamento 2 tem 6.016 linhas.
- O tipo de pagamento 3 tem 113 linhas.
- O tipo de pagamento 4 tem 32 linhas.
Consultando a documentação, descobrimos que o tipo 1 é cartão de crédito, o tipo 2 é dinheiro em espécie e o tipo 4 é contestação. Os números fazem sentido.
- Saia do console interativo "mysql":
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.