Instruções e requisitos de configuração do laboratório
Proteja sua conta e seu progresso. Sempre use uma janela anônima do navegador e suas credenciais para realizar este laboratório.

Como criar esquemas de tabelas do BigQuery para profissionais do Snowflake

Laboratório 1 hora universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Este conteúdo ainda não foi otimizado para dispositivos móveis.
Para aproveitar a melhor experiência, acesse nosso site em um computador desktop usando o link enviado a você por e-mail.

Visão geral

No BigQuery, você organiza os dados em conjuntos de dados e define o esquema (ou estrutura) de cada tabela usando nomes de colunas e tipos de dados. O esquema de uma tabela pode afetar o desempenho e o custo da consulta no BigQuery, pois determina a rapidez e a eficiência com que o BigQuery vai acessar e processar os dados em uma tabela. O BigQuery é compatível com esquemas flexíveis, e é possível fazer mudanças sem precisar reescrever os dados.

Neste laboratório, oferecemos aos profissionais do Snowflake o conhecimento e as habilidades de que precisam para começar a projetar e implementar esquemas de tabelas do BigQuery. Os objetivos de aprendizagem são entender melhor como criar, otimizar e consultar esquemas de tabelas do BigQuery.

Neste laboratório, você vai criar conjuntos de dados e tabelas do BigQuery para armazenar dados, criar campos aninhados e repetidos para manter relacionamentos em dados desnormalizados e criar tabelas particionadas e em cluster para otimizar o desempenho das consultas.

Para mais informações sobre como converter SQL da Snowflake para o BigQuery, consulte o guia de conversão SQL da Snowflake para o BigQuery: https://cloud.google.com/bigquery/docs/migration/oracle-sql.

Objetivos

Neste laboratório, você vai aprender a:

  • Criar conjuntos de dados e tabelas no BigQuery.
  • Criar e consultar campos aninhados e repetidos no BigQuery.
  • Criar e consultar tabelas particionadas no BigQuery.
  • Criar e consultar tabelas em cluster no BigQuery.

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 sem custo financeiro.

  1. Faça login no Google Skills usando uma janela anônima.

  2. 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.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta e copie e cole as credenciais deste laboratório nos locais indicados. Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Como começar o laboratório e fazer login no console

  1. Clique no botão Começar o laboratório. Se for preciso pagar pelo laboratório, você verá um pop-up para selecionar a forma de pagamento. Um painel aparece à esquerda contendo as credenciais temporárias que você precisa usar no laboratório.

    Painel de credenciais

  2. Copie o nome de usuário e clique em Abrir console do Google. O laboratório ativa os recursos e depois abre a página Escolha uma conta em outra guia.

    Observação: abra as guias em janelas separadas, lado a lado.
  3. Na página "Escolha uma conta", clique em Usar outra conta. A página de login abre.

    Caixa de diálogo "Escolha uma conta" com a opção "Usar outra conta" destacada

  4. Cole o nome de usuário que foi copiado do painel "Detalhes da conexão". Em seguida, copie e cole a senha.

Observação: é necessário usar as credenciais do painel "Detalhes da conexão". Não use suas credenciais do Google Skills. Caso tenha sua própria conta do Google Cloud, não a use para este laboratório (isso evita cobranças).
  1. 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 Cloud abre nesta guia.

Observação: para acessar a lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Menu do console do Cloud

Tarefa 1: criar conjuntos de dados e tabelas no BigQuery

No BigQuery, você pode usar a linguagem de definição de dados (DDL, na sigla em inglês) para criar conjuntos de dados e tabelas. Também é possível usar a instrução SQL LOAD DATA para carregar dados de um ou mais arquivos em uma tabela.

Para saber mais sobre como usar instruções DDL para criar conjuntos de dados e tabelas do BigQuery e usar uma instrução SQL LOAD DATA para carregar dados, consulte a documentação Instrução CREATE SCHEMA, Instrução CREATE TABLE e Instrução LOAD DATA.

Nesta tarefa, você vai usar DDL para criar conjuntos de dados e tabelas no BigQuery e, em seguida, carregar dados nas tabelas novas com a instrução LOAD DATA.

  1. No console do Google Cloud, no Menu de navegação (Menu de navegação), em "Analytics", clique em BigQuery.

A caixa de mensagem "Olá! Este é o BigQuery no console do Cloud" vai aparecer. Essa caixa de mensagem inclui um link para o guia de início rápido e para as notas da versão.

  1. Clique em Concluído.

  2. Na barra de ferramentas do espaço de trabalho SQL, clique no ícone Editor para abrir o editor de consultas SQL.

bq_editor.PNG

  1. No editor de consultas, copie e cole a consulta abaixo, depois clique em Executar:
CREATE SCHEMA IF NOT EXISTS ticket_sales OPTIONS( location="us");

Essa consulta cria um conjunto de dados no BigQuery chamado ticket_sales. Observe que a instrução DDL usa o termo SCHEMA para se referir a uma coleção lógica de tabelas, visualizações e outros recursos. No BigQuery, essa coleção é conhecida como "conjunto de dados".

bq_dataset_created.PNG

  1. Expanda o painel "Análises" (lado esquerdo), que lista o conjunto de dados, e clique no nome do conjunto de dados ticket_sales para confirmar se foi criado.

bq_goto_ticket_sales.PNG

  1. No editor de consultas, execute esta consulta:
CREATE OR REPLACE TABLE ticket_sales.sales( salesid INT64, listid INT64, sellerid INT64, buyerid INT64, eventid INT64, dateid INT64, qtysold INT64, pricepaid INT64, commission FLOAT64, saletime STRING);

Isso cria uma tabela chamada sales no conjunto de dados ticket_sales.

bq_statement_created.PNG

  1. Expanda o painel "Análises", que lista o conjunto de dados e a tabela, e clique no nome da tabela sales.

  2. Clique nas guias Detalhes e Visualização para saber mais sobre a tabela.

Ainda não há dados na tabela.

  1. No editor de consultas, execute esta consulta:
LOAD DATA INTO ticket_sales.sales ( salesid INT64, listid INT64, sellerid INT64, buyerid INT64, eventid INT64, dateid INT64, qtysold INT64, pricepaid INT64, commission FLOAT64, saletime STRING ) FROM FILES ( skip_leading_rows=1, format = 'CSV', field_delimiter = ',', max_bad_records = 10, uris = ['gs://tcd_repo/data/entertainment_media/ticket-sales/sales.csv']);

Essa consulta usa uma definição explícita de esquema de tabelas para carregar, na tabela sales, dados de um arquivo CSV no Cloud Storage.

O painel Resultados indica que a instrução LOAD foi executada.

bq_data_loaded.PNG

  1. No painel "Análises", clique nas guias Detalhes e Visualização para confirmar se os dados foram carregados na tabela sales.

Clique em Atualizar (canto superior direito) para atualizar os dados na guia Visualização.

bq_sales_details.PNG

bq_sales_preview1.PNG

Clique em Verificar meu progresso para conferir o objetivo. Criar conjunto de dados e tabelas do BigQuery

Você usou instruções SQL no BigQuery para criar um conjunto de dados e uma tabela e carregar dados nela. Crie outra tabela e carregue dados sobre informações de eventos para praticar o que aprendeu.

  1. No editor de consultas, execute a seguinte consulta para criar a tabela events:
CREATE OR REPLACE TABLE ticket_sales.events( eventid INT64, venueid INT64, catid INT64, dateid INT64, eventname STRING, starttime TIMESTAMP);

bq_new_table_events.PNG

  1. Veja se, no painel Análises, há duas tabelas: sales e events.

bq_new_events_table_explorer.PNG

  1. No editor de consultas, execute a seguinte consulta para carregar dados na tabela events:
LOAD DATA INTO ticket_sales.events FROM FILES ( skip_leading_rows=1, format = 'CSV', field_delimiter = ',', max_bad_records = 10, uris =['gs://tcd_repo/data/entertainment_media/ticket-sales/events.csv']);

Essa consulta usa a detecção automática de esquemas para carregar, na tabela events, os dados de um arquivo CSV no Cloud Storage.

O painel Resultados indica que a instrução LOAD foi executada.

bq_new_events_loaded.PNG

  1. Clique nas guias Detalhes e Visualização para conferir se os dados foram carregados na tabela events.

Clique em Atualizar (canto superior direito) para atualizar os dados na guia Visualização.

bq_events_preview.PNG

Clique em Verificar meu progresso para conferir o objetivo. Carregar dados na tabela de eventos

Tarefa 2: criar e consultar campos aninhados e repetidos

A desnormalização é uma estratégia comum para aumentar o desempenho de leitura em conjuntos de dados relacionais que foram normalizados anteriormente. No BigQuery, a recomendação para desnormalizar dados é usar campos aninhados e repetidos. Você pode usar esses campos para manter relacionamentos em dados desnormalizados, em vez de simplificar completamente os dados.

Para saber mais sobre campos aninhados e repetidos no BigQuery, consulte a documentação Usar campos aninhados e repetidos.

Nesta tarefa, você vai aprender a criar e consultar campos aninhados e repetidos no BigQuery.

  1. No editor de consultas, execute esta consulta:
SELECT e.eventid, e.eventname, s.saletime, s.qtysold, s.pricepaid, s.commission FROM ticket_sales.events e JOIN ticket_sales.sales s ON e.eventid = s.eventid ORDER BY eventid, eventname;

bq_repeated_fields.PNG

Observação: há um relacionamento um para muitos entre as tabelas events e sales. Quando executar essa consulta, uma repetição no lado "um" do relacionamento um para muitos vai aparecer Para cada venda, o evento se repete. Para remover a repetição, agregue os dados de vendas em uma matriz.
  1. No editor de consultas, execute esta consulta:
SELECT e.eventid, e.eventname, ARRAY_AGG(STRUCT( s.saletime, s.qtysold, s.pricepaid, s.commission)) as sales FROM ticket_sales.events e JOIN ticket_sales.sales s ON e.eventid = s.eventid GROUP BY eventid, eventname ORDER BY eventid, eventname;

Embora o SQL da etapa 2 seja semelhante ao SQL da etapa 1, foram adicionadas as funções ARRAY_AGG, STRUCT e GROUP BY.

  1. Revise os resultados da consulta.

Em vez de repetir os dados no lado "um" do relacionamento um para muitos, os dados no lado "muitos" agora ficam em uma matriz de structs.

bq_removed_repetition.PNG

Você também pode incluir a consulta anterior em uma instrução CREATE TABLE para criar uma tabela hierárquica aninhada.

  1. No editor de consultas, execute esta consulta:
CREATE OR REPLACE TABLE ticket_sales.event_sales as ( SELECT e.eventid, e.eventname, ARRAY_AGG(STRUCT( s.saletime, s.qtysold, s.pricepaid, s.commission)) as sales FROM ticket_sales.events e JOIN ticket_sales.sales s ON e.eventid = s.eventid GROUP BY eventid, eventname );

bq_event_sales_table_created.PNG

  1. Clique em Ir para a tabela e analise o esquema da tabela.

O esquema inclui um campo aninhado e repetido chamado sales, que contém o horário da venda, a quantidade vendida, o preço pago e a comissão de cada venda do evento.

bq_event_sales_schema_2.png

Essa nova estrutura aninhada e repetida muda a forma de escrever consultas.

  1. Para contar o número de vendas por evento, execute a seguinte consulta:
SELECT eventid, eventname, ARRAY_LENGTH(sales) AS sale_count FROM ticket_sales.event_sales ORDER BY sale_count DESC;

bq_sales_count.PNG

E se você quisesse conferir as principais comissões por evento? Seria preciso ter uma consulta na matriz. Para isso, você precisa achatar a matriz ou remover o aninhamento dela.

  1. Para remover o aninhamento e identificar as duas principais comissões por evento, execute o seguinte:
SELECT eventid, eventname, ARRAY((SELECT AS STRUCT saletime, commission FROM UNNEST(sales) ORDER BY(commission) DESC LIMIT 2)) as top_2 FROM ticket_sales.event_sales ORDER BY eventid;

O operador UNNEST é usado para achatar a matriz de vendas e facilitar as consultas, e esses resultados são convertidos em uma matriz.

bq_top_commissions.PNG

Para saber como usar o UNNEST e achatar matrizes, consulte a documentação Operador UNNEST.

Clique em Verificar meu progresso para conferir o objetivo. Criar e consultar campos aninhados e repetidos

Tarefa 3: criar e consultar tabelas particionadas

No BigQuery, um método para reduzir os bytes processados pelas consultas consiste em dividir uma tabela grande em segmentos menores (partições) e incluir um filtro nas consultas para selecionar apenas os dados da partição que você escolher. Esse processo é chamado de remoção de partições e pode ser usado para reduzir os custos de uma consulta.

Para saber mais sobre tabelas particionadas e remoção de partições, consulte a documentação Introdução às tabelas particionadas e Consultar tabelas particionadas.

Nesta tarefa, você vai aprender a criar e consultar tabelas particionadas por unidade de tempo (em uma coluna DATETIME) para minimizar os bytes processados por consulta.

  1. No editor de consultas, cole o seguinte código (não clique em "Executar"):
SELECT * FROM ticket_sales.sales;

O validador de consulta do BigQuery estima quantos bytes serão processados antes que você execute a consulta. Nesta consulta, a estimativa é de 15,12 MB.

bq_ticket_sales_bytes.PNG

  1. Cole a consulta a seguir (não clique em "Executar"):
SELECT * FROM ticket_sales.sales WHERE saletime = '12/14/2008 09:13:17';

bq_ticket_sales_time_bytes.PNG

O número de bytes processados é o mesmo da consulta na Etapa 1 (15,12 MB), mesmo que a nova consulta seja apenas de vendas em uma data específica.

  1. Para criar uma tabela de vendas particionada diariamente com a coluna saletime, execute a seguinte consulta:
CREATE OR REPLACE TABLE ticket_sales.sales_partitioned_by_date PARTITION BY DATETIME_TRUNC(saletime, DAY) AS ( SELECT * except (saletime), PARSE_DATETIME( "%m/%d/%Y %H:%M:%S", saletime) as saletime FROM ticket_sales.sales );

bq_sales_partitioned_by_date_created.PNG

  1. Clique na guia Detalhes para confirmar que a tabela está particionada por DIA na coluna saletime.

bq_sales_partitioned_field.PNG

  1. Cole a consulta a seguir e veja a estimativa menor de dados a serem processados (18,98 KB).
SELECT * FROM ticket_sales.sales_partitioned_by_date WHERE saletime = parse_datetime("%m/%d/%Y %H:%M:%S", '12/14/2008 09:13:17');
  1. Clique em Executar para recuperar os resultados da consulta.

A consulta processa menos dados (18,98 KB) porque está sendo executada na tabela particionada. O BigQuery usa a remoção de partições para processar menos dados, o que reduz custos e acelera consultas.

Clique em Verificar meu progresso para conferir o objetivo. Criar e consultar tabelas particionadas

Tarefa 4: criar e consultar tabelas em cluster

Outro método para otimizar o desempenho da consulta no BigQuery é agrupar valores em uma tabela para ordenar e agrupar dados em blocos de armazenamento lógicos. As consultas que filtram ou agregam pelas colunas em cluster só verificam os blocos relevantes com base nas colunas em cluster, e não em toda a tabela ou na partição da tabela. Esse processo é conhecido como remoção de blocos e pode acelerar junções, pesquisas, agrupamentos e classificações.

Para saber mais sobre tabelas em cluster e remoção de blocos, consulte a documentação Introdução às tabelas em cluster e Como consultar tabelas em cluster.

Nesta tarefa, você vai aprender a criar e consultar tabelas em cluster para otimizar o desempenho das consultas.

  1. No editor de consultas, execute esta consulta:
SELECT LANGUAGE, COUNT(views) AS views FROM `cloud-training-demos.wikipedia_benchmark.Wiki1B` GROUP BY LANGUAGE ORDER BY views DESC;

bq_count_by_views.PNG

Essa consulta usa um dos conjuntos de dados públicos do Google que contém muitos dados (nesse caso, 1 bilhão de linhas). A consulta conta as visualizações por idioma em uma tabela de dados da Wikipédia.

  1. No painel Resultados, clique na guia Detalhes da execução.

Observe o número de bytes redistribuídos (619,68 KB).

bq_bytes_shuffled.PNG

  1. Para criar um conjunto com os dados da Wikipedia, execute a seguinte consulta:
CREATE SCHEMA IF NOT EXISTS wiki_clustered OPTIONS( location="us");
  1. Para criar uma tabela agrupada em cluster na coluna language, execute a seguinte consulta:
CREATE OR REPLACE TABLE wiki_clustered.Wikipedia_by_language CLUSTER BY language AS ( SELECT * FROM `cloud-training-demos.wikipedia_benchmark.Wiki1B`);

Esse comando pode demorar um pouco para ser executado.

bq_wiki_clustered_dataset_created.PNG

  1. Na guia Detalhes, verifique se a tabela está agrupada em cluster na coluna language.

bq_wikipedia_by_lang_details.PNG

  1. Para consultar a tabela em cluster, execute a consulta abaixo:
SELECT LANGUAGE, COUNT(views) AS views FROM wiki_clustered.Wikipedia_by_language GROUP BY language ORDER BY views DESC;

bq-select_count_clustered.PNG

  1. No painel Resultados, clique na guia Detalhes da execução.

O número de bytes redistribuídos fica menor (47,98 KB) quando a mesma consulta é executada na tabela em cluster. Quanto menor a redistribuição de bytes, mais rápida a execução no BigQuery.

bq_reduced_bytes_shuffled.PNG

Clique em Verificar meu progresso para conferir o objetivo. Criar e consultar tabelas em cluster

Finalize o laboratório

Após concluir o laboratório, clique em Terminar o laboratório. O Google Skills remove os recursos usados e limpa 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 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 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 empresas e produtos podem ser marcas registradas das empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. 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.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. 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

A melhor maneira de executar este laboratório é usando uma janela de navegação anônima ou privada. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.