Passo 1: Baixar e extrair os dados: Baixe o conjunto de dados OLIST (ex.: CSV ou ZIP).
Extraia os arquivos para a pasta local ou ambiente Colab.
# Exemplo de extração no Colab
from zipfile import ZipFile
# Supondo que o arquivo ZIP esteja no Google Drive
zip_path = "/content/olist_dataset.zip"
with ZipFile(zip_path, 'r') as zip_ref:
zip_ref.extractall("/content/olist_dataset")
print("Arquivos extraídos com sucesso!")
✅ Explicação:
Aqui abrimos o CEP e extraímos todas as tabelas interconectadas (pedidos, clientes, produtos, pagamentos, etc.).
Cada tabela será apresentada separadamente, mantendo as chaves de relacionamento , como order_id, customer_id.
Passo 2: Analisar volume e estrutura de dados
import pandas as pd
import os
# Listando arquivos extraídos
os.listdir("/content/olist_dataset")
# Carregar algumas tabelas
orders = pd.read_csv("/content/olist_dataset/orders.csv")
customers = pd.read_csv("/content/olist_dataset/customers.csv")
# Visualizar estrutura
print(orders.info())
print(orders.head())
print(customers.info())
print(customers.head())
Passo 3: identificar desafios da infraestrutura local
Crescimento de dados: Hoje temos ~126 MB, mas pode crescer para GB/TB.
Limitações de servidores físicos: armazenamento e CPU insuficientes.
Subutilização de recursos: O hardware fica ocioso fora de picos.
Manutenção: Custosa e lenta para expansão.
✅ Conclusão:
A solução ideal é usar computação em nuvem , que permite escalabilidade dinâmica .
Passo 4: Comparar modelos de serviços na nuvem
Modelo Analogias da aula Quando usar
IaaS Alugar a estrutura da casa (paredes, telhado, elétrica) Controle total sobre infraestrutura e software
PaaS Casa pronta e mobiliada Foco apenas no código e dados, sem gerenciar servidores
SaaS Casa 100% pronta, com tudo incluído O usuário final usa a aplicação sem se preocupar com infraestrutu
Explicação prática:
Nenhum pipeline de dados do OLIST:
IaaS: Crie máquinas virtuais customizadas para processar conjuntos de dados gigantes.
PaaS: usar o BigQuery para análises SQL em grande escala.
SaaS: Rodar Python no Google Colab para análise rápida.
Passo 5: Pipeline de dados na prática
O pipeline simplificado :
Ingestão: carregar CSVs para DataFrame ou Google Cloud Storage.
Transformação: limpar dados, tratar valores nulos, criar colunas calculadas.
Integração: unir tabelas por chaves ( order_id, customer_id).
Análise: descobrir atrasos, identificar padrões por região ou categoria.
Visualização: gerar gráficos ou dashboards.
Exemplo em Python
# Passo 1 e 2: Ingestão e limpeza
orders['order_delivered_delay'] = (pd.to_datetime(orders['order_delivered_customer_date']) -
pd.to_datetime(orders['order_estimated_delivery_date'])).dt.days
# Passo 3: Integração com clientes
orders_customers = orders.merge(customers, on='customer_id', how='left')
# Passo 4: Análise de atraso por estado
delay_by_state = orders_customers.groupby('customer_state')['order_delivered_delay'].mean().sort_values(ascending=False)
print(delay_by_state)
# Passo 5: Visualização
import matplotlib.pyplot as plt
delay_by_state.plot(kind='bar', figsize=(10,5), color='orange')
plt.title("Média de atraso nas entregas por estado")
plt.ylabel("Dias de atraso")
plt.xlabel("Estado")
plt.show()
Explicação passo a passo:
Criamos coluna de atraso: diferença entre dados estimados e reais.
Tabelas Unimos: pedidos + clientes → análise geográfica.
Agrupamos por estado: média de atraso para identificar problemas regionais.
Visualizamos: gráficos de barras para tomada de decisão rápida.
Passo 6: Otimização e escalabilidade na nuvem
Armazenamento: carregue CSVs no Google Cloud Storage (GCS).
Processamento: use o BigQuery para consultas SQL em larga escala.
Notebook: Google Colab conectado ao GCS e BigQuery, sem precisar instalar nada.
Escalonamento: se o conjunto de dados crescer, BigQuery e Colab lidam com terabytes sem preocupação.