Coletar, Limpar, Transformar e Testar Dado
- Michel Souza Santana
- 4 de nov.
- 4 min de leitura
O primeiro mergulho na lama dos dados

Quando comecei a trabalhar com engenharia de dados, achei que o grande desafio seria fazer os dados fluírem — puxar de APIs, extrair de planilhas, salvar no Data Lake. Mas com o tempo percebi que o verdadeiro desafio não era mover os dados… era confiar neles.
De nada adianta ter uma arquitetura em nuvem robusta, com pipelines automatizados, se os dados que chegam ao analista estão sujos, incompletos ou distorcidos. É como construir uma ponte de aço sobre um terreno de areia.
E é aí que entra o coração do trabalho do engenheiro de dados: garantir qualidade e confiança desde a coleta até o consumo.
Neste artigo, vou te guiar por essa jornada — que passa pelas quatro estações de um pipeline saudável:
1️⃣ Coletar com propósito,
2️⃣ Limpar com critério,
3️⃣ Transformar com intenção,
4️⃣ Testar com rigor.
Tudo com exemplos reais e reflexões de quem já teve muito dataframe quebrando no caminho.
1. Coletar Dados — a arte de capturar o mundo em bits
Visualize um grande rio de dados correndo ao redor da sua empresa. De um lado, planilhas do financeiro atualizadas no SharePoint. Do outro, APIs de reservas de hotéis, logs de sistemas internos, bancos SQL cheios de históricos.
Cada um desses precisa ser canalizado para um ponto central: seu data lake.
A coleta é o primeiro passo — e o mais sensível. É aqui que você decide se vai trazer dados com qualidade ou sujeira.

O segredo está em não “puxar dados por puxar”. Você coleta com propósito — e já define o que vai validar, limpar e transformar depois.
2. Limpar Dados — separar o ouro da lama
Nenhum dado nasce puro. Quem já extraiu planilhas de 300 mil linhas com colunas renomeadas manualmente sabe do que estou falando. Dados vêm cheios de vírgulas trocadas, datas invertidas, números formatados com “R$”, campos duplicados, e por aí vai.
E limpar dados não é glamour — é engenharia bruta.

Em um dos pipelines que desenvolvi, o time financeiro atualizava manualmente um Excel no SharePoint com informações de DRE. Parecia simples: “é só ler e jogar no Delta Lake”. Mas cada aba tinha colunas ligeiramente diferentes. Resultado: o esquema quebrava a cada nova versão.
A solução foi criar uma função de limpeza automática com Spark, que padronizava colunas, removia linhas vazias e forçava tipos corretos antes de salvar.
from pyspark.sql import functions as F
def limpar_planilha(df):
# Remover linhas totalmente nulas
df = df.dropna(how='all')
# Normalizar nomes das colunas
for c in df.columns:
df = df.withColumnRenamed(c, c.strip().lower().replace(' ', '_'))
# Converter valores monetários e datas
df = df.withColumn("valor",
F.regexp_replace("valor", "R\$", "").cast("double"))
df = df.withColumn("data", F.to_date("data", "dd/MM/yyyy"))
return df
Com isso, passamos de um pipeline que falhava 2x por semana para algo estável e previsível. Limpar dados é, essencialmente, proteger seu pipeline de si mesmo.
3. Transformar Dados — dar forma à informação
Se coletar é trazer, limpar e preparar, transformar é dar significado. É aqui que o dado deixa de ser um conjunto de valores e vira história.
No mundo corporativo, transformar dados é alinhar visões:
O comercial quer ver “vendas por região”.
O financeiro precisa “custo médio por produto”.
O gestor quer “lucro líquido consolidado”.
Todos olham para o mesmo dado — mas com lentes diferentes.
Na prática, isso se traduz em camadas (bronze, silver, gold). E cada camada representa um “nível de maturidade” dos dados.

Veja um exemplo simples de transformação que apliquei em um projeto real de receitas hoteleiras:
# Calcular receita diária consolidada
spark.sql("""
create or replace table gold.receita_diaria as
select
empresa,
hotel,
cast(data_checkin as date) as data,
sum(valor_total) as receita_bruta,
sum(valor_liquido) as receita_liquida
from silver.reservas
where status = 'CONFIRMADA'
group by empresa, hotel, cast(data_checkin as date)
""")
Esse tipo de transformação parece trivial — mas é o que move o negócio. É onde o dado passa de “registro técnico” para “insumo estratégico”.
E mais importante: é onde as regras de negócio ganham vida no pipeline.
4. Testar Dados — a confiança é construída no detalhe
Já imaginou um piloto de avião decolando sem checar os instrumentos? Com dados é a mesma coisa.
De nada adianta uma pipeline brilhante se ela entrega o valor errado. É preciso testar — e testar sempre.
Em um projeto recente, implementamos testes automatizados nas tabelas Delta. Toda vez que o pipeline rodava, ele verificava:
se o número de linhas esperadas estava dentro da variação;
se não havia colunas nulas em campos críticos;
se as somas batiam com o dia anterior.
# Exemplo de teste de consistência
df_today = spark.read.table("gold.receita_diaria")
df_yesterday = spark.read.table("gold.receita_diaria").filter("data = date_sub(current_date(),1)")
total_today = df_today.agg(F.sum("receita_liquida")).collect()[0][0]
total_yesterday = df_yesterday.agg(F.sum("receita_liquida")).collect()[0][0]
if abs(total_today - total_yesterday) > total_yesterday * 0.3:
raise Exception("Variação anormal detectada. Verifique o pipeline.")
Esse tipo de checagem simples já salvou dias de retrabalho.Testar é o que diferencia um pipeline funcional de um pipeline confiável.

Conclusão — a qualidade como filosofia de engenharia
Coletar, limpar, transformar e testar dados não são apenas fases técnicas. São hábitos de um engenheiro maduro — alguém que entende que dados não servem só para preencher dashboards, mas para guiar decisões reais.
Cada pipeline bem estruturado é um ato de confiança. É dizer para o time: “podem se basear nisso, está certo, foi verificado”.
E essa confiança não nasce de frameworks ou ferramentas.Nasce de uma mentalidade:
fazer o simples com excelência, o complexo com controle e o invisível com qualidade.
Então, na próxima vez que for montar um pipeline, lembre-se: antes de pensar em performance, pense em propósito. Porque dados bem coletados, limpos, transformados e testados — são o combustível que move o negócio com verdade.
Até a próxima trilha.




Comentários