arrow_back

Conhecer um lakehouse

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

Conhecer um lakehouse

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

Como analista de dados em nuvem, você provavelmente vai encontrar três principais arquiteturas de dados: data lakes, data warehouses e lakehouses.

Um data lake é um sistema de banco de dados que armazena grandes quantidades de dados brutos no formato original até que sejam necessários. Um princípio fundamental é coletar os dados primeiro e decidir o que é útil depois.

Um data warehouse é um banco de dados que consolida dados de sistemas de várias fontes para oferecer consistência, precisão e acesso eficiente. Um princípio fundamental é selecionar e organizar dados que sabemos que são úteis e confiáveis.

Um lakehouse é uma arquitetura de dados híbrida que combina os recursos de um data lake com os de um data warehouse.

O Cloud Storage é uma ótima ferramenta para um data lake. O BigQuery pode ser configurado como data warehouse, data lake ou lakehouse.

Neste exercício, você vai combinar dados armazenados em um data lake do Cloud Storage com dados armazenados em um data warehouse do BigQuery para aprender como integrar dados de diferentes fontes e armazená-los de forma otimizada para a análise. Depois, você vai conhecer essa arquitetura híbrida para saber como lakehouses funcionam.

Cenário

Você é analista de dados em nuvem na TheLook eCommerce, uma empresa global de vestuário especializada em moda inovadora e com fornecedores éticos e sustentáveis.

Meredith, a líder da área de produtos, pediu para você ajudá-la a realizar uma série de tarefas para entender quais produtos estão sendo vendidos, quais estão sendo devolvidos e garantir que o custo de cada produto está atualizado.

Para isso, será preciso combinar dados de um data lake e de um data warehouse. Assim, você vai usar o BigQuery como lakehouse. Você pode usar essa arquitetura híbrida para encontrar os dados que resolvem as preocupações da Meredith.

Depois de receber a tarefa, você pede orientação para Artem, o arquiteto de dados.

Ele explica que uma tabela externa só aponta para os dados armazenados em outro lugar, como um data lake. Neste caso, provavelmente o melhor para você seria armazenar os dados em uma tabela padrão do BigQuery, porque é mais fácil de gerenciar e atualizar.

Meredith também pediu para você importar os dados de um arquivo CSV para atualizar os custos dos produtos. Após isso, você pergunta ao Artem se é melhor usar uma tabela externa para isso também.

Ele explica que uma tabela externa só aponta para os dados armazenados em outro lugar, como um data lake. Neste caso, provavelmente o melhor para você seria armazenar os dados em uma tabela padrão do BigQuery, porque é mais fácil de gerenciar e atualizar.

Você agradece ao Artem e já pode realizar as tarefas que a Meredith pediu.

Saiba como você vai executar esta tarefa. Primeiro, você vai criar uma tabela externa que aponta para os dados armazenados em um data lake. Depois, você vai mesclar a tabela externa com uma tabela padrão do BigQuery e conferir os dados combinados. Por fim, você vai importar os dados de um arquivo CSV para uma tabela padrão do BigQuery para entender melhor a diferença entre tabelas externas e padrão no BigQuery.

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: crie e use uma tabela externa

Depois de uma análise de dados preliminar, Meredith está preocupada com o grande número de calças jeans sendo devolvidas. Para ajudar a entender melhor a situação e quais centros de distribuição têm mais devoluções, Meredith pediu para você criar um relatório detalhando quantas devoluções de produtos foram feitas para a categoria jeans em cada centro de distribuição. As informações de devoluções são armazenadas como um data lake usando o Cloud Storage. As informações de distribuição são armazenadas como um data warehouse em uma tabela padrão do BigQuery.

Nesta tarefa, você vai criar uma tabela externa para apontar para os dados armazenados no Cloud Storage e mesclá-la com a tabela padrão do BigQuery. Isso vai combinar os dados do data lake e do data warehouse. Depois, você vai consultar os dados combinados para conseguir os resultados de que a Meredith precisa.

  1. No console do Cloud, no Menu de navegação (Ícone do menu de navegação), 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. No Editor de consultas, clique no ícone Escrever nova consulta (+). A guia Sem título será aberta.

Na consulta a seguir, observe o tipo de arquivo. Parquet é um formato muito usado para dados de string na análise de dados em nuvem e é normalmente usado para criar tabelas externas no BigQuery. Como arquivos Parquet são compactados, eles ocupam menos espaço de armazenamento. Eles também são fáceis de gerenciar, já que o esquema de dados é armazenado no próprio arquivo.

  1. Copie e cole o seguinte comando na guia Sem título: CREATE OR REPLACE EXTERNAL TABLE `thelook_gcda.product_returns` OPTIONS ( format ="PARQUET", uris = ['gs://sureskills-lab-dev/DAC2M2L4/returns/returns_*.parquet'] );

Ao criar uma tabela externa no BigQuery, você gera uma tabela que aponta para os dados armazenados em um local externo, como o Cloud Storage. Os tipos de dados nas colunas da tabela externa serão inferidos de acordo com os dados no local externo.

  1. Clique em Executar.

Agora, verifique as propriedades da tabela que você acabou de criar.

  1. No painel Explorador, expanda a lista de bancos de dados clicando na seta suspensa ao lado do ID do projeto.

  2. Clique na seta suspensa ao lado do conjunto de dados thelook_gcda.

  3. Selecione a tabela product_returns. Se ela ainda não estiver listada, atualize a página.

  4. Clique na guia Detalhes e estude os detalhes na seção Configuração de dados externos.

  5. Confira a coluna URIs de origem e observe que ela aponta para gs://. Na interface do BigQuery, a coluna "URIs de origem" mostra a localização da fonte de dados de uma tabela. O prefixo gs:// nessa coluna indica que os dados estão armazenados no Cloud Storage. Quando você cria uma tabela externa, os dados ficam armazenados na fonte no Cloud Storage, mas podem ser consultados como uma tabela padrão do BigQuery.

  1. Copie a consulta a seguir no Editor de consultas:

    Observação: sempre que você executa uma nova consulta no Editor de consultas, é possível substituir a consulta antiga copiando e colando a nova consulta sobre a anterior na mesma guia Sem título ou clicar no ícone Escrever nova consulta (+) para abrir uma nova guia Sem título e executar a consulta. SELECT COUNT(*) AS row_count FROM `thelook_gcda.product_returns`;

Essa consulta retorna uma contagem de linhas de 20.000.

  1. Clique em Executar.

Em seguida, confira as propriedades da tabela distribution_centers.

  1. No painel Explorador, no conjunto de dados thelook_gcda, selecione a tabela distribution_centers.

  2. Clique na guia Detalhes e estude os detalhes nas seções Informações da tabela e Informações do armazenamento. Essa não é uma tabela externa, já que nenhum arquivo externo é citado.

Agora, verifique os dados da tabela product_returns que você criou nas etapas anteriores.

  1. Copie a consulta a seguir no Editor de consultas:

    SELECT * FROM `thelook_gcda.product_returns` ORDER BY status_date desc LIMIT 10;

Essa consulta retorna as 10 devoluções de produtos mais recentes com base na data do status de devolução.

  1. Clique em Executar.

  2. Copie a consulta a seguir no Editor de consultas:

    SELECT dc.name, pr.* FROM `thelook_gcda.product_returns` AS pr INNER JOIN `thelook_gcda.distribution_centers` AS dc ON dc.id = pr.distribution_center_id;

Essa consulta mescla os dados de um bucket do Cloud Storage (product_returns) com dados armazenados no BigQuery (uma tabela padrão, distribution_centers) e retorna o nome do centro de distribuição (distribution_centers.name) com todas as colunas dos dados de devolução no arquivo Parquet.

  1. Clique em Executar.

  2. Copie a consulta a seguir no Editor de consultas:

    SELECT dc.name AS distribution_center, p.category, COUNT(*) AS product_return_count FROM `thelook_gcda.product_returns` AS pr INNER JOIN `thelook_gcda.distribution_centers` AS dc ON dc.id = pr.distribution_center_id INNER JOIN `thelook_gcda.products` p ON p.id = pr.product_id WHERE p.category = "Jeans" GROUP BY dc.name, p.category;

Essa consulta gera as informações que a Meredith solicitou. A consulta mostra o nome do centro de distribuição (distribution_centers.name) e o número e produtos devolvidos na categoria "Jeans" (product.category).

  1. Clique em Executar.

Clique em Verificar meu progresso para conferir se você concluiu a tarefa corretamente. crie e use uma tabela externa

Tarefa 2: importe dados usando o console (do BigQuery Studio)

Uma lista de nomes de produtos e preços atualizados foi enviada por um fabricante importante. Meredith precisa atualizar os dados para refletir esses novos custos e garantir que os relatórios mostrem as informações mais atualizadas.

O fabricante enviou a lista no formato CSV e o suporte técnico a copiou para um bucket do Cloud Storage. O suporte também enviou uma captura de tela do arquivo para que você tenha uma ideia do que deve ser exibido:

Relatório CSV com 24 linhas de dados

Observação: a primeira linha tem o nome das colunas, o arquivo tem duas colunas e o que as separa é uma vírgula, por isso o nome: valores separados por vírgula (ou CSV, na sigla em inglês).

O arquivo está localizado no bucket do Cloud Storage “sureskills-lab-dev” no arquivo price_update. Nesta tarefa, você vai importar os dados para o conjunto de dados thelook_gcda.

  1. Na barra do Explorador, clique em + ADICIONAR para adicionar uma fonte de dados ao projeto.
  2. Selecione Google Cloud Storage.
  3. Em Selecionar arquivo do bucket do GCS, digite sureskills-lab-dev/DAC2M2L4/price_update/price_update_shirts.csv
  4. Em Formato de arquivo, selecione CSV.
  5. Na seção Destino, em Conjunto de dados, selecione thelook_gcda.
  6. No campo Tabela, digitel shirt_price_update
  7. Verifique se o campo Tipo de tabela está definido como Tabela nativa. Isso indica que o BigQuery vai copiar o conteúdo do arquivo CSV do bucket do Cloud Storage para o próprio armazenamento.
  8. Em Esquema, selecione Detectar automaticamente. O BigQuery vai tentar inferir os tipos de dados verificando os valores de cada coluna.
  9. Clique em Criar tabela.

Clique em Verificar meu progresso para conferir se você concluiu a tarefa corretamente. Importar dados usando o console

Conclusão

Bom trabalho!

Ao ajudar a Meredith a entender melhor as vendas e devoluções de produtos, assim como os custos atualizados dos produtos, você forneceu as informações de que ela precisava para gerar relatórios e entender melhor a linha de produtos da TheLook eCommerce.

Você também conseguiu experiência prática combinando dados armazenados em um data lake do Cloud Storage com os armazenados em um data warehouse do BigQuery. Isso ajudou você a saber mais sobre como integrar dados de diferentes fontes e armazená-los de forma otimizada para a análise. Você também aprendeu como essa arquitetura híbrida funciona.

Por fim, você importou dados de um arquivo CSV para uma tabela padrão do BigQuery. Isso ajudou você a entender as diferentes formas de trabalhar e armazenar dados de várias fontes no BigQuery.

Agora você sabe como usar um data lakehouse e combinar dados do Cloud Storage com o BigQuery.

Exemplos de diferenças entre Tabelas padrão e Tabelas externas:

Tabela padrão Tabela externa
Onde os dados estão "Dentro" do BigQuery. "Fora" do BigQuery, no Cloud Storage.
Instrução CREATE TABLE (DDL): arquivos externos Sem referência a arquivos externos. Precisa mencionar arquivos externos.
Instrução CREATE TABLE: formato do arquivo Não tem referências a formatos de arquivo como CSV ou Parquet. Precisa especificar o tipo de arquivo externo referenciado.
Formato do armazenamento de dados Um formato interno específico do BigQuery chamado Capacitor. Vários arquivos suportados como CSV, Parquet, AVRO e Iceberg.
Desempenho Alto Pode ser alto, dependendo de fatores que incluem tamanho dos dados, formato de arquivo e estrutura de particionamento.
Instrução CREATE TABLE: exemplo CREATE TABLE thelook_gcda.products (Product_id INT, Product_name STRING, Active BOOLEAN); CREATE EXTERNAL TABLE thelook_gcda.product_returns OPTIONS (format="PARQUET", uris = ['gs://sureskills-lab-dev/DAC2M2L4/returns/returns_*.parquet']);

Há mais diferenças técnicas, recursos e limitações entre esses dois tipos de tabela que não entram no escopo deste laboratório. Para mais informações, pesquise "Tipos de tabela do BigQuery" no Google ou confira a documentação "Introdução a tabelas".

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.