GSP414
Informações gerais
O BigQuery é um banco de dados de análise NoOps totalmente gerenciado e de baixo custo desenvolvido pelo Google.
Com ele, você pode consultar muitos terabytes de dados sem ter que gerenciar uma infraestrutura nem precisar de um admin de banco de dados.
O BigQuery usa SQL e está disponível no modelo de pagamento por uso. Assim, você pode se concentrar na análise dos dados para encontrar insights relevantes.
Neste laboratório, você vai aprender a consultar e criar tabelas particionadas no BigQuery para melhorar o desempenho das consultas e reduzir o uso de recursos. Os dados deste laboratório vêm de um conjunto de dados de e-commerce contendo milhões de registros do Google Analytics da Google Merchandise Store carregados no BigQuery.
Atividades
Neste laboratório, você vai aprender o seguinte:
- Consultar tabelas particionadas.
- Criar suas próprias tabelas particionadas.
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 é ativado quando você clica em Iniciar 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, e 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 (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
À direita, você encontra o painel Configuração e acesso ao laboratório com as seguintes informações:
- O botão Abrir console do Google Cloud
- As credenciais temporárias (nome de usuário e senha) que você vai usar no laboratório
- Outros dados, se necessários
O timer do laboratório fica na parte de cima da página e mostra o tempo restante.
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página "Login" em outra guia.
Dica: coloque as guias em janelas separadas lado a lado.
Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Configuração e acesso ao laboratório.
-
Clique em Avançar.
-
Copie a Senha abaixo e cole na caixa de diálogo Olá!.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Configuração e acesso ao laboratório.
-
Clique em Avançar.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, talvez receba cobranças adicionais.
-
Acesse as próximas páginas:
- Aceite os Termos e Condições.
- Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
- Não se inscreva em testes sem custo financeiro.
Depois de alguns instantes, o console do Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
Abrir o console do BigQuery
- No Console do Google Cloud, selecione o menu de navegação > BigQuery:
Você verá a caixa de mensagem Olá! Este é o BigQuery no Console do Cloud. Ela tem um link para o guia de início rápido e as notas de lançamento.
- Clique em OK.
O console do BigQuery vai abrir.
Tarefa 1: criar um conjunto de dados
-
Primeiro, você vai criar um conjunto de dados para armazenar suas tabelas.
-
No painel Explorer, perto do ID do seu projeto, clique em Ver ações e depois em Criar conjunto de dados.

- Defina o ID do conjunto de dados como e-commerce.
Não mexa nas outras opções (Local dos dados, Expiração da tabela padrão).
- Clique em Criar conjunto de dados.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um conjunto de dados chamado ecommerce
Tarefa 2: criar tabelas particionadas por data
Uma tabela particionada é uma tabela dividida em segmentos, chamados de partições, que facilitam o gerenciamento e a consulta dos seus dados.
Ao dividir uma tabela grande em partições menores, você melhora o desempenho das consultas e controla os custos, já que reduz a quantidade de bytes lidos em cada processamento.
Agora, crie uma nova tabela e vincule uma coluna de data ou carimbo de data/hora como partição.
Antes disso, precisamos analisar os dados na tabela não particionada.
Consulte a análise da página da Web para coletar uma amostra dos visitantes em 2017
- Clique em + Consulta SQL e adicione o texto abaixo:
#standardSQL
SELECT DISTINCT
fullVisitorId,
date,
city,
pageTitle
FROM `data-to-insights.ecommerce.all_sessions_raw`
WHERE date = '20170708'
LIMIT 5
Antes de executar a consulta, observe o volume total de dados que será processado, conforme indicado ao lado do ícone do validador de consultas: "Esta consulta processará 1,74 GB quando executada".
- Clique em Executar.
A consulta retorna cinco resultados.
Consulte as métricas da página da Web para uma amostra de visitantes em 2018
Modifique a consulta para conferir os visitantes em 2018.
- Clique em + Consulta SQL para limpar o Editor de consultas e insira esta nova consulta. O parâmetro
WHERE date foi modificado para 20180708:
#standardSQL
SELECT DISTINCT
fullVisitorId,
date,
city,
pageTitle
FROM `data-to-insights.ecommerce.all_sessions_raw`
WHERE date = '20180708'
LIMIT 5
O validador de consulta mostra o volume de dados que será processado.
- Clique em Executar.
Observe que a consulta processará 1,74 GB mesmo sem retornar resultados. Por quê? O mecanismo de consulta precisa analisar todos os registros do conjunto de dados para verificar se eles atendem à condição de correspondência de data na cláusula WHERE. Ele precisa comparar a data de cada registro com a condição "20180708".
Além disso, o uso de LIMIT 5 não reduz o volume total de dados processados, ao contrário do que muita gente pensa.
Casos de uso comuns para tabelas particionadas por data
Analisar todo o conjunto de dados sempre que for necessário comparar linhas com uma condição WHERE é um desperdício de recursos. Principalmente se você só precisa analisar registros de um período específico, como:
- Todas as transações do ano passado
- Todas as interações de visitantes nos últimos sete dias
- Todos os produtos vendidos no último mês
Em vez de varrer todo o conjunto de dados e filtrar por um campo de data, como fizemos nas consultas anteriores, agora você vai configurar uma tabela particionada por data. Assim, é possível ignorar completamente a análise de registros em partições irrelevantes para nossa consulta.
Crie uma nova tabela particionada com base na data
- Clique em + Consulta SQL, adicione a consulta abaixo e clique em Executar:
#standardSQL
CREATE OR REPLACE TABLE ecommerce.partition_by_day
PARTITION BY date_formatted
OPTIONS(
description="a table partitioned by date"
) AS
SELECT DISTINCT
PARSE_DATE("%Y%m%d", date) AS date_formatted,
fullvisitorId
FROM `data-to-insights.ecommerce.all_sessions_raw`
Nesta consulta, observe a nova opção: PARTITION BY seguido por um campo.
Você pode usar DATE e TIMESTAMP para fazer a partição.
A função PARSE_DATE é aplicada ao campo de data (armazenado como string) para convertê-lo no tipo DATE adequado para o particionamento.
-
Clique em Conjuntos de dados, selecione o conjunto de dados ecommerce e escolha a nova tabela partition_by_day.
-
Clique na guia Detalhes.
Confirme se estes dados aparecem:
- Particionado por: dia
- Particionamento em: date_formatted

Observação: as partições das tabelas particionadas na sua conta do laboratório expirarão automaticamente 90 dias após o valor definido na sua coluna de data.
Se você tiver uma conta pessoal do Google Cloud com o faturamento ativado, você poderá criar tabelas particionadas que nunca expiram.
Para este laboratório, as consultas restantes serão executadas em tabelas particionadas que já foram criadas.
Clique em Verificar meu progresso para conferir o objetivo.
Criar uma nova tabela particionada por data
Tarefa 3: analisar os resultados das consultas em uma tabela particionada
- Execute a consulta abaixo e observe o total de bytes que serão processados:
#standardSQL
SELECT *
FROM `data-to-insights.ecommerce.partition_by_day`
WHERE date_formatted = '2016-08-01'
Desta vez, são processados apenas 25 KB (ou 0,025 MB), o que representa uma fração mínima do que você consultou anteriormente.
- Execute a consulta abaixo e observe o total de bytes que serão processados:
#standardSQL
SELECT *
FROM `data-to-insights.ecommerce.partition_by_day`
WHERE date_formatted = '2018-07-08'
Você verá a mensagem Esta consulta processará 0 B quando executada.
Tarefa 4: criar uma tabela particionada com expiração automática
As tabelas particionadas com expiração automática são usadas para obedecer a leis de privacidade de dados e evitar gastos com armazenamento desnecessário (que seria cobrado em um ambiente de produção).
Para criar uma janela contínua de dados, adicione uma data de expiração para que a partição seja removida automaticamente assim que você terminar de usá-la.
Analise as tabelas de dados meteorológicos da NOAA disponíveis
- No menu à esquerda, no Explorer, clique em + Adicionar dados e selecione Conjuntos de dados públicos.

-
Pesquise GSOD NOAA e selecione o conjunto de dados.
-
Clique em Ver conjunto de dados.
-
Navegue pelas tabelas no conjunto de dados noaa_gsod (que são fragmentadas manualmente e não particionadas):

Seu objetivo é criar uma tabela capaz de:
- Consultar dados meteorológicos de 2018 em diante
- Filtrar para incluir apenas os dias em que houve algum tipo de precipitação (chuva, neve etc.)
- Armazenar cada partição de dados por apenas 730 dias a partir da data da partição (janela contínua)
- Primeiro, copie e cole esta consulta:
#standardSQL
SELECT
DATE(CAST(year AS INT64), CAST(mo AS INT64), CAST(da AS INT64)) AS date,
(SELECT ANY_VALUE(name) FROM `bigquery-public-data.noaa_gsod.stations` AS stations
WHERE stations.usaf = stn) AS station_name, -- Stations may have multiple names
prcp
FROM `bigquery-public-data.noaa_gsod.gsod*` AS weather
WHERE prcp < 99.9 -- Filter unknown values
AND prcp > 0 -- Filter stations/days with no precipitation
AND _TABLE_SUFFIX >= '2018'
ORDER BY date DESC -- Where has it rained/snowed recently
LIMIT 10
Observação: o caractere curinga de tabela * é usado na cláusula FROM para limitar a quantidade de tabelas mencionadas no filtro TABLE_SUFFIX.
Observação: ainda que o comando LIMIT 10 tenha sido adicionado, isso ainda não reduz o volume total de dados verificados (cerca de 1,83 GB), pois ainda não existem partições.
-
Clique em Executar.
-
Confirme se a data está formatada corretamente e se o campo de precipitação mostra valores diferentes de zero.
Tarefa 5: agora é sua vez de criar uma tabela particionada
Sua consulta deve ficar assim:
#standardSQL
CREATE OR REPLACE TABLE ecommerce.days_with_rain
PARTITION BY date
OPTIONS (
partition_expiration_days=730,
description="weather stations with precipitation, partitioned by day"
) AS
SELECT
DATE(CAST(year AS INT64), CAST(mo AS INT64), CAST(da AS INT64)) AS date,
(SELECT ANY_VALUE(name) FROM `bigquery-public-data.noaa_gsod.stations` AS stations
WHERE stations.usaf = stn) AS station_name, -- Stations may have multiple names
prcp
FROM `bigquery-public-data.noaa_gsod.gsod*` AS weather
WHERE prcp < 99.9 -- Filter unknown values
AND prcp > 0 -- Filter
AND _TABLE_SUFFIX >= '2018'
Observação: você está definindo a expiração da partição para 730 dias (2 anos). Em um ambiente de produção, você configuraria esse valor para atender aos seus requisitos específicos de retenção de dados ou normas de privacidade (por exemplo, 60 ou 90 dias). Como o conjunto de dados meteorológicos públicos usado neste laboratório é histórico e não recebe atualizações diárias, definir uma janela de expiração mais curta resultaria em uma tabela vazia.
Clique em Verificar meu progresso para conferir o objetivo.
Agora é com você: crie uma tabela particionada
Confirme que a expiração das partições de dados está funcionando
Para confirmar que você está armazenando apenas dados dos últimos 730 dias até hoje, execute a consulta DATE_DIFF para conferir a idade das suas partições, que estão configuradas para expirar após esse período de 730 dias.
Confira abaixo uma consulta que monitora a média de chuvas da estação meteorológica da NOAA em Wakayama, Japão, um local com um índice pluviométrico significativo.
- Adicione e execute esta consulta:
#standardSQL
# avg monthly precipitation
SELECT
AVG(prcp) AS average,
station_name,
date,
CURRENT_DATE() AS today,
DATE_DIFF(CURRENT_DATE(), date, DAY) AS partition_age,
EXTRACT(MONTH FROM date) AS month
FROM ecommerce.days_with_rain
WHERE station_name = 'WAKAYAMA' #Japan
GROUP BY station_name, date, today, month, partition_age
ORDER BY date DESC; # most recent days first
Tarefa 6: confirmar que a partition_age mais antiga tem no máximo 730 dias
Atualize a cláusula ORDER BY para as partições mais antigas aparecerem primeiro.
- Adicione e execute esta consulta:
#standardSQL
# avg monthly precipitation
SELECT
AVG(prcp) AS average,
station_name,
date,
CURRENT_DATE() AS today,
DATE_DIFF(CURRENT_DATE(), date, DAY) AS partition_age,
EXTRACT(MONTH FROM date) AS month
FROM ecommerce.days_with_rain
WHERE station_name = 'WAKAYAMA' #Japan
GROUP BY station_name, date, today, month, partition_age
ORDER BY partition_age DESC
Observação: os resultados podem variar se você executar a consulta de novo no futuro, já que os dados meteorológicos e as partições são atualizados continuamente.
Parabéns!
Você criou e consultou tabelas particionadas no BigQuery.
Próximas etapas / Saiba mais
- Para aprender a criar tabelas particionadas por tempo de ingestão e que não estão vinculadas a uma determinada coluna de data ou carimbo de data/hora, consulte a seção sobre tabelas particionadas da documentação do BigQuery e exemplos.
- Você tem uma conta do Google Analytics e quer consultar seus próprios conjuntos de dados no BigQuery? Siga este guia de exportação.
- Confira outros laboratórios do BigQuery:
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 31 de março de 2026
Laboratório testado em 31 de março de 2026
Copyright 2026 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.