Alura > Cursos de Data Science > Cursos de Engenharia de Dados > Conteúdos de Engenharia de Dados > Primeiras aulas do curso Engenharia de Analytics: analisando dados com Amazon Athena e AWS Glue

Engenharia de Analytics: analisando dados com Amazon Athena e AWS Glue

Conhecendo o Amazon Athena - Apresentação

Olá, meu nome é Beatriz, e sou a instrutora que irá acompanhar vocês durante este curso de análise de dados usando o Amazon Web Services, mais conhecido como AWS.

Audiodescrição: Beatriz se identifica como uma mulher branca. Possui olhos castanhos, cabelos longos e ondulados, também castanhos, soltos à frente dos ombros. No corpo, usa uma camisa verde. Ao fundo, um cômodo com uma poltrona azul à direita e uma cortina à esquerda, iluminado em tons de verde e azul.

O que aprenderemos?

Neste curso, exploraremos a base de dados da Zoop, uma empresa de vendas de eletrodomésticos e eletrônicos. A Zoop disponibilizou três bases de dados:

Nosso objetivo é extrair alguns insights (percepções) e responder a algumas perguntas principais de negócio que irão auxiliar essa empresa na tomada de decisões.

A gerência de negócios da Zoop apresentou três perguntas principais que devem ser respondidas através da análise de dados, e é isso que faremos utilizando as ferramentas da AWS.

Trabalharemos um pouco com o Amazon Athena, que permite realizar consultas SQL e explorar os dados usando essa linguagem. Também utilizaremos o AWS Glue, onde podemos criar notebooks com a linguagem Python e realizar análises gráficas com nossa base de dados.

Pré-requisitos

Caso não tenha o ambiente do curso anterior preparado, não se preocupe, pois logo após este vídeo, disponibilizaremos uma atividade para preparar esse ambiente e permitir a continuidade no curso.

Vamos começar nosso projeto? Até o próximo vídeo.

Conhecendo o Amazon Athena - Iniciando o projeto

Você é uma pessoa engenheira de Analytics contratada pela Zoop para analisar as bases de dados de vendas, estoques e redes sociais, com o objetivo de responder algumas perguntas de negócio e trazer insights que vão ajudar na tomada de decisões.

A gerência de negócios trouxe três perguntas principais:

Realizaremos essas análises utilizando alguns serviços da AWS, como o Amazon Athena, onde conseguiremos realizar consultas SQL para obter algumas respostas. Também vamos aprofundar nossas análises usando o AWS Glue para criar um notebook com a linguagem Python e gerar visualizações gráficas para a análise de dados.

Isso tornará a análise mais completa e fácil de acessar para pessoas sem familiaridade com a leitura de análises. Com a visualização, tudo fica mais simples de entender.

Para isso, começaremos entendendo a interface desses serviços e como funcionam.

Conhecendo a interface da AWS

Vamos acessar o site da AWS. Na sua interface, na parte superior direita, clicaremos na opção "Faça login no console".

Na página de login, à esquerda, temos a opção de fazer login como pessoa usuária do IAM, a qual utilizaremos. Caso você não tenha uma conta do IAM, disponibilizamos uma atividade após este vídeo ensinando as etapas para criar essa conta.

Se você fez o curso anterior e não apagou sua conta, provavelmente já tem esse login, portanto, basta inserir as informações e clicar no botão "Entrar" para acessar.

Após realizar login, haverá o direcionamento para a página inicial do console. No painel da esquerda, temos alguns serviços visitados recentemente, mas, se for seu primeiro acesso, não haverá essas informações.

Para encontrar o serviço Athena, acessaremos a barra de busca na parte superior da tela e escreveremos "Athena".

Athena

Entre os resultados, há uma estrela à direita do nome do serviço "Athena". Se clicarmos nela, o serviço será adicionado à barra de ferramentas superior na página inicial do console, logo abaixo da barra de busca. Isso facilitará o acesso futuro.

Sugerimos clicar na estrela, pois utilizaremos esse serviço mais de uma vez.

Ao clicar no serviço "Athena", acessaremos a página inicial do Amazon Athena.

A página inicial dos serviços AWS traz bastante informação para entender como funcionam. Na lateral direita, há uma aba de preço, com valores de consultas SQL por terabyte verificado, mas não focaremos nisso agora.

No curso, faremos três consultas SQL, resultando em um custo quase nulo, sem necessidade de preocupação. No entanto, é importante ressaltar que a maioria dos serviços AWS tem algum tipo de cobrança. No final do curso, ensinaremos como excluir tudo para evitar cobranças inesperadas e faremos um cálculo do gasto total.

O custo das consultas SQL é praticamente irrisório, então podemos usá-las sem medo nesse curso. Caso utilize a ferramenta em um projeto pessoal e queira calcular os custos, acesse a calculadora de custos da AWS, onde é possível inserir a quantidade de consultas SQL para saber o valor.

Na área principal da tela, há a seção "Como funciona" explicando os três passos para analisar dados com o Athena:

No topo da página, na parte direita, há a seção "Comece a usar", onde manteremos a primeira opção marcada, "Consulte seus dados com o SQL Trino". Abaixo, clicaremos no botão "Iniciar editor de consultas" em laranja.

Ao clicar, pode aparecer uma mensagem para criar um bucket necessário para as primeiras consultas ou definir um local para o resultado da consulta. Se já tiver um bucket criado, pode ser que apareça apenas para definir um local.

Para definir um local, clicaremos em "Editar configurações" após essa mensagem, no canto superior direito. No campo "Location of query result", definiremos o local onde ficarão os resultados das consultas, clicando em "Browse S3" para pesquisar dentro do nosso S3.

Já criamos um bucket chamado "zoop-consultas-athena" para armazenar. Na janela exibida, marcaremos essa opção e, na parte inferior direita, clicaremos em "Choose" para escolher.

Para criar um bucket, basta seguir os passos abaixo:

  1. Acessar a página do serviço S3;

  2. Escolher a opção de criar um bucket;

  3. Manter as configurações padrão recomendadas;

  4. Escolher um nome;

  5. Clicar em "Criar".

Ele será gerado no seu S3 como uma pasta para armazenar os resultados das consultas SQL.

Também disponibilizaremos uma atividade após este vídeo ensinando detalhadamente como criá-lo.

Após escolher o bucket, clicaremos em "Salvar" no canto inferior direito e as configurações serão atualizadas com sucesso. Após configurar o bucket, clicaremos na guia "Editor" na parte superior esquerda, retornando à interface do Amazon Athena, onde faremos nossas consultas.

Na aba lateral esquerda, há um local para os dados, com o campo "Fonte de dados" exibindo a opção "AWSDataCatalog" selecionada. Nela está armazenada a base de dados da Zoop.

No campo "Banco de dados", provavelmente estará no "default", se nunca tiver colocado nenhum banco de dados. Clicaremos nesse botão de lista e escolheremos o banco de dados "db-glue-zoop".

Ao escolher, abaixo dessa opção aparece uma seção com as tabelas dentro desse banco de dados, referentes a:

Na área central da tela, temos a área de consultas, onde escreveremos nossos códigos SQL. Abaixo, há uma aba com opções como "Executar", "Explicar", "Cancelar", "Limpar" e, mais abaixo ainda, uma aba com os resultados das consultas, na qual analisaremos os resultados da base de dados e geraremos insights.

Próximos passos

A primeira coisa que faremos é analisar de forma geral nossas três bases de dados.

Conhecendo o Amazon Athena - Visualizando tabelas

No vídeo anterior, entendemos um pouco sobre o funcionamento do Amazon Athena, como a interface opera e onde escrevemos consultas. Agora, começaremos a explorar as tabelas no SQL. Faremos os primeiros SELECTs para explorar as colunas e entender os tipos de dados disponíveis.

Acessando a tabela de estoque

Voltando à área de código da página do Amazon Athena, acessaremos as bases de dados para ter uma noção do número de colunas, como estão formatadas e quais serão interessantes para a análise.

Para isso, na linha 1, faremos um SELECT simples nas tabelas. Copiaremos o nome da tabela na aba de dados à esquerda, pois é extenso, e colaremos na consulta, clicando no botão "Executar" em seguida, abaixo da área de código.

SELECT * FROM "zoop-glue"."estoques_zoop_silver_parquet_bfec2789a1656ecf172a8e596bb2d1e6";

Após a execução, acessaremos a aba inferior de resultados e teremos a primeira tabela, a de estoque.

#id_estoqueid_produtoprodutocategoria_produtodatahorarioquantidade_em_estoquequantidade_novos_produtosquantidade_vendida
1106414ImpressoraEletrônicos2024-06-012024-08-26 09:30:00.0005874916
210811FrigobarEletrodomésticos2024-07-012024-08-26 14:03:00.0003842616
36066NotebookEletrônicos2023-03-012024-08-26 07:25:00.0003103720
489727Câmera de segurançaEletrônicos2023-12-012024-08-26 13:28:00.0002183412
56033CafeteiraEletrodomésticos2023-03-012024-08-26 18:50:00.0002312016

Vamos analisar as colunas disponíveis:

As três últimas colunas provavelmente serão usadas em análises, principalmente para responder perguntas de negócio, como quais produtos têm mais necessidade de reposição com base na quantidade em estoque e vendida:

Devemos gravar essas três colunas.

Acessando a tabela de redes sociais

Faremos o mesmo processo com a tabela de redes sociais para uma análise geral. Copiaremos o nome dela, adicionaremos ao nosso SELECT da área de código e executaremos.

SELECT * FROM "zoop-glue"."estoques_zoop_silver_parquet_bfec2789a1656ecf172a8e596bb2d1e6";

Na aba de resultados, temos a tabela de redes sociais.

#id_socialdatainfluencia_autorplataformanome_produtocategoria_produtoavaliacaocomentario
149952023-04-2193686X (Twitter)NotebookEletrônicos5Produto incrível! Desempenho muito acima da média. #Notebook
244372022-12-2949251X (Twitter)Ventilador de tetoEletrodomésticos3Funciona como esperado, mas não se destaca. #VentiladordeTeto
370292023-12-0111320InstagramLiquidificadorEletrodomésticos4Produto de ótima qualidade! Vale cada centavo. #Liquidificador
487822024-06-0621661TikTokLiquidificadorEletrodomésticos5Recomendo a todos! Produto perfeito para o dia a dia. #Liquidificador

Ela possui as colunas:

Provavelmente, usaremos bastante a coluna de avaliação para entender a relação entre a nota de avaliação do produto e o desempenho das vendas. Podemos vincular a avaliação e o nome do produto com a quantidade de vendas do mesmo produto.

Acessando a tabela de vendas

Por fim, acessaremos a última tabela, de vendas, fazendo o mesmo processo.

SELECT * FROM "zoop-glue"."vendas_zoop_silver_parquet_da19a7a51cb355a370f8e75f505434e4"

Ao executar, temos a tabela de vendas.

#id_vendadatahorariocanal_vendaorigem_vendaid_produtoprodutocategoria_produtopreco_unitarioquantidademetodo_pagamentoid_clientenome_clientegenero_clienteidade_clientecidade_clienteuf_clienteregiao_clienteavaliacao
150542023-03-022024-08-26 10:57:00.000Loja 2Loja7TabletEletrônicos1199.02PIX203Dom NogueiraMasculino42Foz do IguaçuPRSul4
287042024-03-292024-08-26 19:55:00.000e-commerceInstagram8Micro-ondasEletrodomésticos499.02Cartão de débito93Yasmin VargasFeminino42FrancaSPSudeste1
368762023-09-162024-08-26 16:17:00.000Loja 1Loja10Câmera digitalEletrônicos1299.03Cartão de crédito498Yan AndradeMasculino55São PauloSPSudeste5
419132022-03-102024-08-26 02:23:21.000e-commerceInstagram14ImpressoraEletrônicos599.02Cartão de débito48Murilo da MataMasculino38GoiâniaGOCentro-Oeste3

Ela possui as colunas:

Há muito a explorar nessa tabela de vendas, como a região da pessoa cliente, relacionada a algo que a empresa deseja saber: qual região possui mais vendas?

Também há o canal de venda, relevante para análises no momento de filtrar quais canais de venda são mais eficientes (pergunta de negócio trazida pela gerência da Zoop).

Próximos passos

Após entender a base de dados e como usar o Amazon Athena para consultas, faremos a primeira análise e responderemos a primeira pergunta de negócio. A gerência quer saber quais produtos têm o maior volume de vendas por região e qual o canal de venda mais eficiente.

Sobre o curso Engenharia de Analytics: analisando dados com Amazon Athena e AWS Glue

O curso Engenharia de Analytics: analisando dados com Amazon Athena e AWS Glue possui 94 minutos de vídeos, em um total de 53 atividades. Gostou? Conheça nossos outros cursos de Engenharia de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Engenharia de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas