arrow_back

Identificar diferentes fontes de dados em lote e por streaming

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

Identificar diferentes fontes de dados em lote e por streaming

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

Ter acesso rápido aos dados é essencial para as organizações responderem rapidamente a mudanças no mercado, necessidades dos clientes e problemas operacionais.

O processamento em lote é um método que coleta grandes volumes de dados durante um período e faz o processamento posterior e instantâneo de todos eles. Ele é ideal para processar grandes quantidades de dados e tarefas que não exigem processamento quase em tempo real.

O processamento de stream é um método que processa os dados conforme eles são recebidos. Ele é ideal para processar dados continuamente em tempo real. É importante que analistas e cientistas de dados entendam a diferença entre os dois, já que ambos os processos têm vantagens e desvantagens.

Como analista de dados, saber quando e como aplicar o processamento em lote ou o processamento de stream ajuda você a otimizar o desempenho de tarefas de processamento de dados, minimizar os atrasos no processamento e fornecer insights mais rápidos e precisos sobre os dados.

Neste laboratório, você vai processar e coletar dados para um objetivo específico, além de observar o carregamento de dados nas tabelas do BigQuery usando métodos de processamento em lote e de stream auxiliados por computador.

Cenário

Meredith, a líder da área de produtos da TheLook eCommerce, pediu para você monitorar os resultados de promoções e mudanças de preço.

Essa área é responsável por definir preços e garantir que a empresa vai conseguir vender o estoque que comprou. Por exemplo, se há muitas camisas de um time em estoque em um ano em que esse time venceu um campeonato, um varejista pode decidir reduzir o preço para vender os produtos mais rápido. Dessa forma, a loja não fica com estoque parado.

Para essa tarefa, Meredith precisa ver o número de itens adicionados aos carrinhos de duas formas. O monitoramento quase em tempo real vai permitir que a Meredith veja o número de itens adicionados aos carrinhos conforme eles ficam disponíveis.

Um monitoramento minuto a minuto permite que ela veja o número de itens adicionados a cada carrinho em incrementos de um minuto.

Esses dados vão ajudar a Meredith a monitorar a eficácia das promoções e das mudanças de preço com o tempo. Ela pode usar essa informação para melhorar a experiência de compra dos clientes e aumentar as vendas.

Artem, o arquiteto de dados, destaca que a atividade dos carrinhos é registrada em stream em uma das tabelas no BigQuery. Você precisa ajudar a Meredith a entender como encontrar os dados de que ela precisa para monitorar os produtos.

Saiba como fazer isso: primeiro pesquise pelo conjunto de dados e a tabela associada. Em seguida, execute uma consulta para mostrar o horário em que os produtos foram adicionados ao carrinho. Depois, execute a consulta novamente Por fim, analise as propriedades das tabelas shopping_cart e order.

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: determine as fontes em lote e de stream

Nesta tarefa, você vai ajudar a Meredith a criar uma tabela que armazena dados sobre o número de pedidos e o horário em que os pedidos foram adicionados ao carrinho de um cliente.

  1. No menu de navegação (Menu de navegação) do console do Google Cloud, selecione BigQuery.
Observação: talvez a caixa de mensagem Olá! Este é o BigQuery no console do Cloud apareça 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. Expanda a lista de conjuntos de dados clicando na seta suspensa ao lado de "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.

Se aparecer um pop-up, clique em Ok.

  1. Encontre o conjunto de dados thelook_gcda e clique na seta suspensa ao lado dele.

  2. Selecione a tabela shopping_cart.

  3. Clique no botão Consulta para abrir o Editor de consultas e selecione Em uma nova guia. Uma guia Sem título pré-preenchida é mostrada.

  4. Substitua os dados pré-preenchidos copiando e colando a seguinte consulta no Editor de consultas:

    SELECT * FROM `thelook_gcda.shopping_cart` ORDER BY created_at DESC LIMIT 10;

Essa consulta exibe as 10 primeiras linhas da tabela shopping_cart.

  1. Clique em Executar.

Os resultados da consulta serão exibidos no formato de tabela abaixo do Editor de consultas.

Dica: no Editor de consultas, você pode clicar no ícone "+" para escrever uma nova consulta.

  1. Observe o horário da entrada mais recente, que será exibido na parte superior da tabela, na linha 1.
  2. Clique no botão Executar para executar a consulta novamente.

Os dados são adicionados continuamente a essa tabela, então é possível executar consultas nos dados mais recentes assim que eles ficarem disponíveis. Isso muda o resultado da consulta.

  1. Clique na tabela shopping_cart na área "Explorador" e depois na guia Detalhes da área da consulta. Analise as propriedades da tabela shopping_cart no BigQuery. A seção Estatísticas de buffer de streaming indica que os dados estão sendo incluídos por stream na tabela.
Dica: atualize a página se ela não for exibida imediatamente. É preciso rolar a tela para navegar pelas estatísticas.
  1. Agora, analise as propriedades da tabela orders. Clique na tabela orders na área "Explorador" e depois na guia Detalhes da área da consulta.

  1. Copie o seguinte comando no Editor de consultas:
SELECT * FROM `thelook_gcda.orders` ORDER BY created_at DESC LIMIT 10;
  1. Clique em Executar para exibir as linhas mais recentes na tabela de pedidos.
  2. Clique em Executar novamente para verificar se há alguma mudança no resultado.

  1. Copie a consulta a seguir no Editor de consultas:
SELECT p.category, FORMAT_TIMESTAMP("%H:%M", sc.created_at) as added_at_minute, sum(sc.quantity) as sum_quantity FROM `thelook_gcda.shopping_cart` sc INNER JOIN `thelook_gcda.products` p ON p.id = sc.product_id WHERE p.category = 'Jeans' AND sc.created_at > timestamp_sub(current_timestamp(), INTERVAL 1 HOUR) GROUP BY p.category, added_at_minute ORDER BY added_at_minute DESC;

Essa consulta mostra o número de produtos da categoria "Jeans" que foram adicionados à tabela shopping_cart a cada minuto na última hora.

  1. Execute a consulta pelo menos três vezes, esperando 10 segundos entre as execuções, e observe os resultados.

Essa consulta é um exemplo de fonte de dados para um painel. Como a consulta é baseada na tabela shopping_cart, que é atualizada constantemente por uma fonte de streaming, o painel vai receber dados novos toda vez que a consulta for executada.

Clique em Verificar meu progresso para conferir se você concluiu a tarefa corretamente. Determinar as fontes em lote e de stream

Agora, vamos aprender mais sobre essa consulta e seus componentes principais.

  1. Localize o nome das tabelas usadas nessa consulta.

A consulta mescla as tabelas thelook_gcda.shopping_cart e thelook_gcda.products usando a coluna product_id. Isso garante que só as linhas que correspondam ao ID do produto em ambas as tabelas sejam incluídas nos resultados.

  1. Identifique o tipo de mescla usado na consulta:
FROM `thelook_gcda.shopping_cart` sc INNER JOIN `thelook_gcda.products` p ON p.id = sc.product_id;

Um INNER JOIN é usado nessa consulta. Uma linha "shopping cart" com um valor em "product_id" que não existe na tabela de produtos não será incluída nos resultados e não será contada.

Como a Meredith pediu as informações minuto a minuto, a consulta formata a coluna created_at como HH:MM, por exemplo 10:15 para 10 horas e 15 minutos da manhã.

  1. Identifique a seguinte instrução na parte SELECT da consulta:
FORMAT_TIMESTAMP("%H:%M", sc.created_at) AS added_at_minute,

A formatação de datas e horários é uma tarefa muito comum para analistas de dados. Você pode encontrar mais informações e exemplos de como usar a função FORMAT_TIMESTAMP integrada na Documentação de funções de carimbo de data/hora do BigQuery.

  1. Localize a instrução WHERE nessa consulta.

A instrução WHERE na consulta filtra os itens do carrinho por Categoria de produto e pelo horário em que eles foram criados:

WHERE p.category = 'Jeans' AND sc.created_at > timestamp_sub(current_timestamp(), INTERVAL 1 HOUR);

Como a Meredith só tem interesse nos produtos da categoria Jeans, a seguinte parte da consulta remove os produtos que não estão nessa categoria com a primeira parte da cláusula WHERE:

p.category = 'Jeans'

A tabela "shopping cart" é muito ativa e pode ser bem grande, então a Meredith também pediu para só ver dados da última hora. Para isso, a cláusula WHERE filtra as linhas usando a coluna created_at e usa duas funções integradas, uma para obter a data e o horário em que a consulta é executada (current_timestamp) e outra para calcular o tempo uma hora antes (timestamp_add). A consulta só vai retornar linhas que foram criadas antes de agora menos uma hora. O agora é determinado pela função current_timestamp. E o menos uma hora é determinado subtraindo 1 hora do horário atual.

Observação: o horário exibido nos resultados da consulta está no fuso horário UTC (Tempo Universal Coordenado) e pode não refletir o horário local. Armazenar o horário no fuso UTC é uma prática comum em empresas globais.

Para mais informações, consulte a Documentação de funções de carimbo de data/hora.

  1. Localize a seguinte linha na consulta:
GROUP BY p.category, added_at_minute;

Essa linha agrupa os resultados por minuto e soma os valores adicionados a cada minuto porque usamos a função SUM() na nossa instrução SELECT. Como é preciso listar a Categoria do produto nos resultados, você também pode agrupar por Categoria do produto.

Observe que você está usando o alias da coluna added_at_minute definida na seção SELECT da coluna.

  1. Localize a cláusula ORDER BYna consulta:
ORDER BY added_at_minute DESC;

A cláusula ORDER BY preenche os resultados com os dados mais recentes disponíveis, minuto a minuto, na parte superior.

Conclusão

Bom trabalho!

Você localizou as informações de que a Meredith precisava para acompanhar as tendências de compra dos consumidores, o que vai ajudar na tomada de decisões rápidas sobre preços e estoque.

Para isso, você primeiro determinou se a tabela usava processamento em lote ou de stream, acessou e executou uma consulta para preencher uma tabela com dados sobre o número de jeans adicionados a carrinhos na última hora, minuto a minuto.

Você também aprendeu a importância de um acesso rápido aos dados e a diferença entre processamento em lote e processamento de stream.

Ao observar o carregamento de dados em tabelas do BigQuery usando ambos os métodos, você desenvolveu as habilidades necessárias para escolher a abordagem mais adequada ao processamento de dados.

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.