top of page

Coffee and Tips Newsletter

Inscreva-se na nossa newsletter semanal

Nos vemos em breve!

#2 Python e SQL: a dupla inseparável da Engenharia de Dados

  • Foto do escritor: JP
    JP
  • 5 de set.
  • 5 min de leitura

Atualizado: 13 de set.

Série: Trilha prática para se tornar Engenheiro de Dados – Capítulo 2


Pré-requisitos


Para acompanhar e executar os exemplos deste capítulo, você vai precisar de:


  • Python 3.10+ – Instalação oficial

  • SQLAlchemy – biblioteca Python para manipulação de dados. Instale com:


pip install pandas sqlalchemy requests

  • SQLite – banco de dados leve (já vem instalado na maioria dos sistemas).

  • Guia: SQLite Download Page



Não se preocupe: vamos usar apenas exemplos simples, que rodam localmente.



Python + SQL: por que essa dupla é tão importante?


Na Engenharia de Dados, Python e SQL são como arroz e feijão: não fazem sentido separados.

  • SQL é a linguagem dos dados já armazenados: consultas rápidas, filtros e agregações.

  • Python é o canivete suíço: coleta dados de APIs, transforma tabelas e carrega em bancos de dados.



Python e SQL

E a mágica acontece quando você combina as duas:

  • Python coleta e organiza.

  • Python grava no banco.

  • SQL consulta, filtra e agrega.

  • O próprio Python pode rodar queries SQL automaticamente.



Exemplo integrado – Trabalhando com produtos


Vamos reutilizar o arquivo produto.csv criado no Post 1.


  1. Python lê o CSV.

  2. Python carrega os dados no SQLite (nosso mini Data Warehouse local).

  3. Usamos SQL para consultar os dados.

  4. E por fim, executamos queries SQL dentro do Python.



Passo 1 – Carregar o CSV no Banco de Dados (Python)


Crie o arquivo produtos_sql.py:


import pandas as pd
from sqlalchemy import create_engine

# Lendo o arquivo CSV gerado no Post 1

df = pd.read_csv("produto.csv")

# Criando conexão com o banco SQLite

engine = create_engine("sqlite:///meu_dw.db")

# Gravando os dados na tabela 'produtos'

df.to_sql("produtos", engine, if_exists="replace", index=False)
print("Tabela 'produtos' carregada no banco 'meu_dw.db'")

Passo 2 – Consultar com SQL (fora do Python)


Agora vamos abrir o SQLite e consultar a tabela.


🅰️ Opção 1 — Pelo terminal



Digite os seguintes comandos abaixo:


sqlite3 meu_dw.db

Ao acessar o console do SQLite3, digite os seguintes comandos:


.headers on
.mode column

SELECT nome, preco, estoque
FROM produtos
WHERE estoque > 50;

O resultado retorna produtos com estoque maior que 50.


🅱️ Opção 2 — Usando programa com interface gráfica


Se não gosta de linha de comando, use um programa como DB Browser for SQLite:


  1. Baixe em: https://sqlitebrowser.org.

  2. Abra o arquivo meu_dw.db.

  3. Vá até a aba Execute SQL.

  4. Rode a consulta:


SELECT nome, preco, estoque
FROM produtos
WHERE estoque > 50;


Passo 3 – Executando SQL dentro do Python


Agora vamos unir tudo: Python executando SQL automaticamente.


import pandas as pd
from sqlalchemy import create_engine

# Conectando ao banco

engine = create_engine("sqlite:///meu_dw.db")

# Definindo a query SQL

query = """
SELECT nome, preco, estoque, avaliacao_media
FROM produtos
WHERE preco < 50
ORDER BY avaliacao_media DESC
"""

# Executando a query dentro do Python

resultado = pd.read_sql_query(query, engine)
print("Produtos com preço menor que 50, ordenados pela avaliação:")
print(resultado)

Explicando:


  • WHERE preco < 50 → filtra produtos baratos.

  • ORDER BY avaliacao_media DESC → mostra primeiro os mais bem avaliados.

  • O resultado já volta como um DataFrame, pronto para salvar em CSV, alimentar dashboards ou ser enviado por e-mail.



Outras linguagens além de Python + SQL


Embora Python e SQL sejam a base da maioria dos pipelines modernos, não são as únicas ferramentas na caixa do engenheiro de dados. Outras linguagens também desempenham papéis relevantes, principalmente em cenários de alta performance ou Big Data distribuído.


Java


  • Uma das linguagens mais antigas e consolidadas do ecossistema.

  • Muito usada nos primórdios do Big Data, com frameworks como Hadoop MapReduce.

  • Ponto forte: robustez e performance em sistemas distribuídos.

  • Ainda é muito presente em empresas que possuem infraestruturas legadas.


Scala


  • Linguagem criada para rodar na JVM (Java Virtual Machine), mas mais expressiva e concisa que Java.

  • É a linguagem nativa do Apache Spark, que se tornou o padrão de fato para processamento distribuído de grandes volumes de dados.

  • Permite trabalhar tanto de forma funcional quanto orientada a objetos.

  • Geralmente usada em times que priorizam alta performance e pipelines críticos.


R


  • Muito popular na área de estatística e ciência de dados.

  • Usada em contextos específicos onde há análises matemáticas ou estatísticas avançadas.

  • Menos comum em Engenharia de Dados pura, mas pode aparecer quando há proximidade com times de Data Science.


Go (Golang)


  • Linguagem criada pelo Google, moderna e eficiente.

  • Tem ganhado espaço em ferramentas de infraestrutura de dados (como Kubernetes, Prometheus e até alguns conectores).

  • Ponto forte: velocidade de execução e concorrência nativa.

  • É vista mais em desenvolvimento de plataformas de dados do que em pipelines de transformação.


Por que Python + SQL continuam dominando?


  • Curva de aprendizado suave: fáceis de aprender e ler.

  • Ecossistema maduro: bibliotecas como Pandas, PySpark, Airflow, SQLAlchemy.

  • Flexibilidade: Python é ótimo para automação e integração, enquanto SQL é insubstituível para consultas.

  • Comunidade gigante: milhares de tutoriais, fóruns, cursos e exemplos.


Em resumo: Python + SQL é o kit básico universal que todo engenheiro de dados domina. Mas, ao avançar na carreira, ter noções de Java, Scala ou até Go pode ser o diferencial em projetos de larga escala ou em empresas que trabalham com arquiteturas distribuídas e de alta performance.


Casos reais no mercado


  • Python coleta dados de APIs de e-commerce (produtos, estoque, vendas).

  • SQL organiza e responde perguntas como “quais produtos têm menos de 10 unidades no estoque?”.

  • Juntos → Python + SQL alimentam relatórios e dashboards em tempo real.

  • Em grandes empresas, frameworks como Spark (Scala/Java) entram em cena para processar bilhões de registros.


Leituras recomendadas




 Conclusão


Neste capítulo, você viu que:


  • Python e SQL se complementam perfeitamente.

  • Python carrega dados no banco e pode executar SQL internamente.

  • SQL organiza e responde perguntas de forma eficiente.

  • Outras linguagens (Java/Scala) aparecem em cenários de larga escala.



O que vem a seguir?


👉 No próximo capítulo: Data Lakes, Data Warehouses e o conceito de Lakehouse.


Você vai aprender as diferenças entre eles, exemplos de ferramentas do mercado e criar uma simulação local com CSV, JSON, SQLite e Parquet.



Gostou desse capítulo?


👉 Assine a newsletter Coffee & Tips e receba os próximos capítulos direto no seu e-mail.


👉 Pré-venda exclusiva


Em breve também vamos lançar um E-Book avançado, com tutoriais em Spark, Airflow, Redshift, tudo para você se tornar um Engenheiro de Dados!


Cadastre-se agora na lista de pré-venda e garanta:


  • Acesso antecipado antes do lançamento oficial 🚀

  • Benefícios exclusivos para inscritos 💡

  • Conteúdo extra que não estará disponível gratuitamente




Fique ligado!


 
 
 

Comentários


bottom of page