arrow_back

Conhecer os tipos de dados simples e aninhados no BigQuery

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Conhecer os tipos de dados simples e aninhados no BigQuery

Lab 1 hora 30 minutos universal_currency_alt 2 créditos show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses
ícone de "importante" IMPORTANTE:

ícone de notebook/computador Conclua este laboratório prático usando um computador ou notebook.

ícone de verificação Só 5 tentativas são permitidas por laboratório.

ícone de alvo do teste É comum não acertar todas as questões na primeira tentativa e precisar refazer uma tarefa. Isso faz parte do processo de aprendizado.

ícone de cronômetro Depois que o laboratório é iniciado, não é possível pausar o tempo. Depois de 1h30, o laboratório será finalizado, e você vai precisar recomeçar.

ícone de dica Para saber mais, confira as Dicas técnicas do laboratório.

Informações gerais da atividade

Entender os tipos e estruturas de dados é essencial para trabalhar com dados no BigQuery de maneira eficaz. Os tipos de dados simples armazenam um único valor, como um número ou uma string de texto, enquanto os aninhados podem armazenar vários valores ou estruturas complexas com vários tipos de dados. Saber a diferença entre eles ajuda a organizar informações e fazer consultas no BigQuery com eficiência.

Neste laboratório, você vai conhecer os tipos de dados simples e aninhados no BigQuery e como usá-los em consultas de maneira eficaz.

Cenário

Você trabalha como analista de dados de nuvem para a TheLook eCommerce, uma empresa global de roupas especializada em moda inovadora e suprimento ético e sustentável. A diretora de marketing, Márcia, pediu sua ajuda com dois problemas relacionados a dados. Primeiro, ela está com dificuldades para executar uma consulta e gerar um resumo das vendas por país e ano. Segundo, a equipe está preocupada porque, devido ao marketing ineficiente, alguns produtos tiveram uma performance inferior em países específicos e ninguém sabe como utilizar os dados existentes para coletar as informações necessárias. Ajude a Márcia aplicando seu conhecimento sobre tipos de dados simples e aninhados.

Veja como você vai realizar esta tarefa: Primeiro, você vai conferir os tipos de dados no BigQuery. Em seguida, você vai realizar uma consulta para entender como funcionam os tipos de dados. Depois, vai explorar os tipos de dados aninhados para observar como eles são diferentes dos simples. Por fim, você trabalhar com dados aninhados para descobrir por que um produto não vende bem em Singapura e disponibilizar informações que podem ajudar Meredith a encontrar as respostas que precisa.

Configuração

Antes de clicar em "Começar o laboratório"

Leia as instruções a seguir. 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.

Neste laboratório prático, você pode fazer as atividades por conta própria em um ambiente cloud de verdade, 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 do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • Tempo restante
    • O botão Abrir console do Google Cloud
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações, se forem necessárias
    Observação: se for preciso pagar pelo laboratório, um pop-up vai aparecer para você escolher a forma de pagamento.
  2. 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). A página de login será aberta em uma nova guia do navegador.

    Dica: é possível organizar as guias em janelas separadas, lado a lado, para alternar facilmente entre elas.

    Observação: se a caixa de diálogo Escolha uma conta aparecer, clique em Usar outra conta.
  3. Se necessário, copie o Nome de usuário do Google Cloud abaixo e cole na caixa de diálogo de login. Clique em Próximo.

{{{user_0.username | "Nome de usuário do Google Cloud"}}}

Você também encontra o Nome de usuário do Google Cloud no painel Detalhes do laboratório.

  1. Copie a Senha do Google Cloud abaixo e cole na caixa de diálogo seguinte. Clique em Próximo.
{{{user_0.password | "Senha do Google Cloud"}}}

Você também encontra a Senha do Google Cloud no painel Detalhes do laboratório.

Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: usar sua própria conta do Google Cloud neste laboratório pode gerar cobranças extras.
  1. Nas próximas páginas:
    • Aceite os Termos e Condições
    • Não adicione opções de recuperação nem autenticação de dois fatores nesta conta temporária
    • Não se inscreva em testes gratuitos

Depois de alguns instantes, o console será aberto 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 Google Cloud com o ícone do menu de navegação em destaque

Tarefa 1: conheça os tipos de dados no BigQuery

Artur, o arquiteto de dados, recomenda analisar a tabela que Márcia quer acessar antes de fazer a consulta. Isso vai ajudar a entender melhor os dados, incluindo colunas e tipos de dados.

Nessa tarefa, você vai examinar o esquema de uma tabela para identificar os tipos de dados e colunas relevantes e aprender mais sobre dados simples.

  1. No console do Google Cloud, no Menu de navegação (Ícone do menu de navegação), selecione BigQuery.
Observação: pode ser exibida a caixa de mensagem Olá! Este é o BigQuery no console do Cloud, com links para o guia de início rápido e as notas da versão das atualizações da interface. Clique em Concluído para continuar.
  1. No painel Explorador, expanda a lista de bancos de dados clicando na seta suspensa ao lado do ID do projeto.
Observação: talvez seja necessário selecionar um projeto primeiro. Para isso, clique em Selecionar um projeto na barra de título do console do Google Cloud e, em seguida, selecione o link do projeto na caixa de diálogo Selecionar um projeto.
  1. Clique na seta suspensa ao lado do conjunto de dados thelook_gcda.
  2. No conjunto de dados thelook_gcda, selecione a tabela orders_by_state. O esquema da tabela é exibido.
  3. Localize os nomes das colunas no esquema.
Observação: no BigQuery Studio, uma coluna se refere ao nome do campo.

  1. Cada coluna tem um tipo de dados associado. Localize o tipo no esquema.

Uma STRING é uma sequência de caracteres que pode incluir letras, números e pontuação. Quando uma STRING contém números, ela ainda é lida como texto.

Um INTEGER é um número inteiro positivo ou negativo e não contém pontos decimais.

Tanto STRINGs quanto INTEGERs são tipos de dados simples porque contêm um único valor.

  1. Localize o Modo para cada coluna no esquema.

No BigQuery, as colunas podem ser NULLABLE, REQUIRED e REPEATED.

  • NULLABLE significa que uma coluna pode conter valores NULOS, ausentes ou desconhecidos.
  • REQUIRED significa que uma coluna não pode conter valores NULOS.
  • REPEATED indica que a coluna contém uma matriz de valores do tipo de dados da coluna.

NULLABLE, REQUIRED e REPEATED podem ser usado com tipos de dados simples e RECORDs aninhados.

Tarefa 2: resolva problemas em uma consulta

Agora que analisou os dados, você pode ajudar a Márcia com a consulta. Ela está tentando gerar um resumo das vendas por país e por ano, usando a tabela orders_by_state, mas está recebendo um erro e não consegue encontrar o problema.

Nesta tarefa, você vai utilizar seu conhecimento dos tipos de dados para resolver o problema e corrigir a consulta para que a Márcia possa criar um resumo das vendas.

  1. Na barra de ações do BigQuery, clique na guia Sem título para exibir o Editor de consultas.
  2. Copie a consulta a seguir na guia Sem título:
SELECT sum(total_sales) as sum_total_sales FROM `thelook_gcda.orders_by_state`;

Essa é a consulta que a Márcia tentou executar para obter a soma da coluna total_sales.

Apareceu um ponto de exclamação na primeira linha quando você inseriu a consulta? Isso indica que a consulta pode conter erros. Antes da execução da consulta, o BigQuery verifica se há possíveis erros e alerta você caso encontre algum.

A consulta no editor agora exibe um ícone de erro vermelho.

  1. Clique em Executar.
  2. Na seção Resultados da consulta, localize a mensagem de erro. As mensagens de erro são formas úteis de entender por que uma consulta não está funcionando. Nesse caso, ela informa que não há assinatura correspondente para a função agregada SUM nos tipos de argumento de STRING.

A assinatura de uma função descreve os parâmetros e tipos de dados dela. Nesse caso, a função SUM() recebe uma STRING, que é um tipo de dados simples cujo valor é lido como texto. No entanto, esse tipo de dados não é aceito.

Para corrigir o erro, você vai precisar mudar a consulta para converter o tipo de dados de STRING em outro que inclua um número. Como você está trabalhando com números que podem conter um ponto decimal, selecione NUMERIC.

  1. Copie a seguinte consulta convertida no Editor de consultas.
Observação: exclua a consulta anterior antes de copiar a atualizada. SELECT country, sum(cast(total_sales as numeric)) as sum_total_sales FROM `thelook_gcda.orders_by_state` GROUP BY country;
  1. Clique em Executar.

CAST é uma ferramenta útil para SQL porque converte dados de um tipo para outro. A consulta agora funciona, porque você alterou total_sales de STRING para NUMERIC, um tipo de dados suportado que é lido como número e pode ser usado em cálculos matemáticos. Isso vai resolver o erro mostrado.

Agora que o problema com total_sales foi solucionado, você pode ajudar a Márcia a conseguir as informações necessárias.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT country, order_year, sum(cast(total_sales as decimal)) as sum_total_sales FROM `thelook_gcda.orders_by_state` GROUP BY country, order_year ORDER BY country asc, order_year desc;

Essa consulta retorna os pedidos por país e por ano e também classifica os resultados por nome de país em ordem crescente e por ano em ordem decrescente, com o mais recente aparecendo primeiro.

  1. Clique em Executar.

Clique em Verificar meu progresso para confirmar que você concluiu a tarefa corretamente.

resolva problemas em uma consulta

Tarefa 3: conheça os tipos de dados aninhados

A Márcia pediu que você criasse um relatório sobre a eficácia do marketing de determinados produtos em 2021. Ela suspeita que a falta de reconhecimento do cliente pelos consumidores pode ter contribuído para vendas menores em alguns mercados. Assim, um relatório pode ajudar a determinar se o marketing ruim foi a causa. Você não sabe bem quais dados são necessários, então pede a ajuda do arquiteto de dados, Artur. Ele explica que o Google Analytics captura as visualizações do site na tabela ga4_events e que você pode procurar um evento chamado view_item na coluna event_name para encontrar os dados que precisa.

Pode ser complexo usar o BigQuery porque ele contém dois tipos principais: matrizes e STRUCTs. As colunas REPEATED são matrizes, ou seja, podem armazenar diversos valores do mesmo tipo de dados. As colunas RECORD são estruturas, o que significa que armazenam diversos valores de diferentes tipos de dados. É possível ter uma matriz inteira composta de STRUCTS, que é chamada coluna REPEATED RECORD.

Você agradece a Artur e começa a trabalhar.

Nessa tarefa, você vai explorar os tipos de dados aninhados na tabela ga4_events e aprender mais sobre eles.

  1. No conjunto de dados thelook_gcda, selecione a tabela ga4_events e analise a guia Schema.

STRING, INTEGER e FLOAT são tipos de dados simples, enquanto RECORD é aninhado e funciona como um tipo especial de STRUCT. STRUCTs permitem tratar vários dados como uma unidade, mesmo que sejam tipos diferentes. Por exemplo, o RECORD de informações geográficas é composto por diversas colunas, como país, região e cidade, que juntas representam uma referência geográfica do evento ou a localização do cliente que visualizou o produto no momento do evento.

  1. Localize as colunas aninhadas na coluna de informações geográficas.

  1. Localize a coluna event_name. Nela, você encontra o tipo de evento que precisará filtrar.

  1. Localize a coluna Items e confira o modo nela.

O modo Repeated é exclusivo para tipos de dados aninhados no BigQuery. Quando uma coluna é marcada como Repeated, isso indica que pode haver vários itens para cada linha da tabela. Além disso, colunas repetidas podem conter diversos valores de diferentes tipos de dados.

Tarefa 4: trabalhe com tipos de dados aninhados

Depois de explorar os tipos de dados aninhados, você poderá ajudar a Márcia a entender como o marketing em 2021 afetou as vendas de produtos.

Antes disso, você pede mais conselhos a Artur, que diz que é possível referenciar os tipos de dados simples, como STRING, diretamente. No entanto, ao trabalhar com os aninhados, como RECORD, será preciso fazer a referenciação usando a notação de ponto.

Você agradece a Artur e começa a pensar em como usar esses dados para ajudar a Márcia. Como a Márcia notou que as vendas do Google Dino Game Tees em Singapura foram muito menores do que o esperado, você decide rastrear quantas pessoas visualizaram o Dino Tee no site daquele mercado em 2021. Esse insight pode ajudar a Márcia a entender melhor se o marketing ineficaz pode ter prejudicado as vendas do produto.

Nessa tarefa, você vai gerar um relatório do número de visualizações do produto Google Dino Game Tee em 2021 para a Singapura, onde poucas camisetas Dino foram vendidas.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT event_date, event_name, geo FROM `thelook_gcda.ga4_events`;

Essa consulta recupera event_date, event_namee geo da tabela ga4_events e analisa os resultados.

  1. Clique em Executar.

Muitas informações são recuperadas. Para visualizar apenas as relevantes, filtre os eventos por tipo.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT event_date, event_name, geo FROM `thelook_gcda.ga4_events` WHERE event_name = 'view_item';

Essa consulta retorna apenas as linhas que correspondem ao tipo de evento view_item.

  1. Clique em Executar.

Ao criar um relatório, uma boa estratégia é começar com o número total de linhas do conjunto de dados. Em seguida, adicione filtros para restringir os resultados. É importante controlar a quantidade de linhas no conjunto de dados filtrado para que você possa entender como os filtros estão afetando os resultados.

Para visualizar os resultados que a Márcia precisa, filtre os resultados por país. "Country" é uma coluna aninhada no tipo de dados aninhados geograficamente. Para referenciar uma coluna em um tipo de dados aninhado, use a notação de ponto.

Observação: para usar a notação de ponto, adicione um ponto final (.) entre o nome da coluna RECORD e o nome da coluna aninhada que você quer acessar. Por exemplo, se você tiver uma coluna RECORD chamada "geo" que contém uma coluna aninhada chamada "country", a notação de ponto ficaria geo.country.
  1. Copie a consulta a seguir no Editor de consultas:
SELECT event_date, event_name, geo.country FROM `thelook_gcda.ga4_events` WHERE event_name = 'view_item' and geo.country = 'Singapore';

Essa consulta filtra eventos por país, especificamente Singapura. O país é mostrado aninhado dentro de "geo" com geo.country.

  1. Clique em Executar.

Finalmente, você precisa filtrar pelo nome do produto. A consulta a seguir adiciona a coluna de itens, que contém o tipo de dados RECORD e está marcada como REPEATED. Isso significa que essa é uma coleção de RECORDS. Em outras palavras, a coluna "Items" é uma matriz de STRUCTs.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT event_date, event_name, geo.country, items FROM `thelook_gcda.ga4_events` WHERE event_name = 'view_item' and geo.country = 'Singapore';
  1. Clique em Executar.

  2. Role a tela para baixo para ver os resultados.

Cada linha numerada na coluna "Row" nos resultados representa um evento, ou seja, uma visualização de item. Algumas das linhas do evento têm vários itens listados, como é o caso da 19. É assim que o BigQuery mostra colunas que se repetem na mesma linha.

O número de linhas nos resultados permanece o mesmo na 65ª linha, uma vez que a consulta ainda encontra um total de 65 eventos. No entanto, a linha 19 no conjunto de resultados tem 9 itens aninhados na coluna "Items". Isso significa que, embora a linha 19 corresponda a 1 evento, na verdade ela inclui 9 itens.

Agora, vamos listar o nome do item na consulta, já que a Márcia quer informações do item com o nome Google Dino Game Tee.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT event_date, event_name, geo.country, items.item_name FROM `thelook_gcda.ga4_events` WHERE event_name = 'view_item' and geo.country = 'Singapore';
  1. Clique em Executar.
  2. Verifique quantas linhas são retornadas.

Nesse caso, nenhuma linha é retornada. Em vez disso, a consulta mostra um erro. O BigQuery não consegue determinar qual dos itens aninhados está sendo referenciado porque os items são uma coleção, ou seja, formam uma matriz que contém diversos valores do tipo de dados STRUCT.

Mensagem de erro de consulta "Não é possível acessar o campo item_name em um valor com tipo ARRAY"

Uma maneira de trabalhar com colunas aninhadas em uma consulta é simplesmente desaninhá-las para facilitar a referenciação. A operação é conhecida como “separação” e utiliza a função "unnest" que pode ser referenciada como uma tabela.

Observação: a separação converte um tipo de dados aninhado em um simples contendo apenas um valor.

A consulta a seguir usa unnest na coluna "items", define o item como alias e faz junções cruzadas com cada linha de evento individual. Com isso, todos os eventos em que um usuário visualizou um item em Singapura serão selecionados.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT event.event_date, event_name, geo.country, item.item_name FROM `thelook_gcda.ga4_events` as event INNER JOIN unnest(items) as item WHERE event_name = 'view_item' AND geo.country = 'Singapore';
  1. Clique em Executar.

Na etapa anterior, 65 linhas correspondiam ao nome de evento view_item e ao país Singapura. Porém, após a operação UNNEST, você tem 571. Isso ocorre porque UNNEST separa a matriz de itens, assim cada item da matriz agora é uma linha separada.

Observação: agora que você conseguiu referenciar o item_name facilmente, o BigQuery copia event_date, event_name e geo.country para as linhas recém-criadas. Se você analisar os resultados, notará que agora cada linha e coluna tem apenas um valor. Em outras palavras, não existem colunas aninhadas, sendo, portanto, um conjunto de dados separado.

Usando o conjunto de dados separado, adicione um filtro para que apenas produtos chamados "Google Dino Game Tee" apareçam nos resultados.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT event.event_date, event_name, geo.country, item.item_name from `thelook_gcda.ga4_events` as event INNER JOIN unnest(items) as item WHERE event_name = 'view_item' AND geo.country = 'Singapore' AND item.item_name = 'Google Dino Game Tee';
  1. Clique em Executar.

Quantas linhas retornaram agora? A campanha de marketing gerou muitas visualizações no site?

Parece que apenas três eventos atendem aos critérios. Isso significa que apenas três pessoas visualizaram o produto Google Dino Game Tee no site na Singapura em 2021. É bem pouco para um país com milhões de pessoas. Parece que você tem informações bem úteis. Compartilhe-as com a Márcia para ajudá-la a entender se o marketing impactou as vendas do produto em 2021. Bom trabalho!

Clique em Verificar meu progresso para confirmar que você concluiu a tarefa corretamente.

Trabalhar com tipos de dados aninhados

Resumo

  • Ao trabalhar com consultas, os tipos de dados STRING e numéricos podem ser referenciados diretamente pelos nomes nas cláusulas SELECT e WHERE.
  • Nas colunas do tipo RECORD, como "geo" neste laboratório, usamos um nome de duas partes, como geo.country, para fazer referência a colunas aninhadas específicas.
  • As colunas REPEATED são coleções que podem ter diversas linhas, conforme demonstrado na coluna "Items".
  • Ao trabalhar com colunas no modo REPEATED, são empregados métodos de referência especiais na consulta.
  • Uma maneira de separar essas estruturas aninhadas é usando o operador UNNEST.

Se quiser revisar os conceitos abordados neste laboratório, consulte a lição sobre tipos de dados.

Conclusão

Bom trabalho!

Como analista de dados de nuvem na TheLook eCommerce, você usou seu conhecimento de tipos de dados simples e aninhados para ajudar a Márcia a corrigir uma consulta e gerar insights sobre a queda das vendas de produtos em um mercado específico.

Primeiro, você trabalhou com os tipos de dados simples e corrigiu a consulta da Márcia para que ela pudesse gerar o relatório de vendas que precisava. Em seguida, usou os tipos de dados aninhados para ajudar a descobrir por que as camisetas Google Game Dino Tees não eram vendidas em Singapura.

Agora você sabe como usar tipos de dados simples e aninhados para fazer consultas de dados no BigQuery.

Finalize o laboratório

Antes de encerrar o laboratório, certifique-se de que você concluiu todas as tarefas. Quando tudo estiver pronto, clique em Terminar o laboratório e depois em Enviar.

Depois que você finalizar um laboratório, não será mais possível acessar o ambiente do laboratório nem o trabalho que você concluiu nele.

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.