BigFrames: O fim do MemoryError para quem ama Pandas

Published: (February 17, 2026 at 09:17 AM EST)
3 min read
Source: Dev.to

Source: Dev.to

Cover image for BigFrames: O fim do MemoryError para quem ama Pandas

🤔 O que é o BigFrames?

BigFrames é uma biblioteca open‑source do Google Cloud que traduz comandos Python/Pandas diretamente em SQL do BigQuery.

Diferença fundamental

PandasBigFrames
Onde os dados ficamCarrega os dados para o seu computadorLeva o seu código até onde os dados estão (na nuvem)

📊 Benchmark: Quando a RAM não é o limite

Volume de DadosPandas (Mac M3 16 GB RAM)BigFrames (BigQuery Engine)Observação
100 MB0.8 s2.5 sPandas vence (latência menor)
10 GB45 s (engasgando)5.2 sBigFrames vence
100 GBCrash (MemoryError)12 sBigFrames vence
1 PB💀 Nem tenta45 sBigFrames único sobrevivente

Insight: Para dados pequenos, a latência de rede do BigFrames pode torná‑lo mais lento. Mas a partir de ~5‑10 GB, ele se torna imbatível.

🛠️ O Setup de Elite: BigFrames + Marimo

A combinação Marimo (Notebook Reativo) + BigFrames é o “Power Couple” de 2026 para quem migra para o Mac. Imagine um slider no Marimo que, ao ser arrastado, dispara uma agregação em um dataset de 1 bilhão de linhas no BigQuery e atualiza o gráfico no seu Mac em segundos.

Exemplo de código

import bigframes.pandas as bpd

# Configuração inicial
bpd.options.bigquery.project = "seu-projeto-dev"
bpd.options.bigquery.location = "us"

# Lendo uma tabela pública massiva (Wikipedia, GitHub, etc)
df = bpd.read_gbq("bigquery-public-data.samples.wikipedia")

# Filtragem e agregação (sintaxe 100 % Pandas)
# Nota: isso NÃO baixa os dados para o seu Mac ainda!
top_paginas = (
    df[df['language'] == 'pt']
    .groupby('title')
    .sum(numeric_only=True)
    .sort_values('views', ascending=False)
    .head(10)
)

# O dado só é "puxado" para o local quando você dá um print ou plota
print(top_paginas)

🧠 Por que usar o BigFrames agora?

  • Lazy Evaluation: nada é executado até ser estritamente necessário, permitindo otimizações antes de gerar o SQL.
  • ML nativo (bigframes.ml): treine modelos de Linear Regression, K‑Means ou use o Gemini (LLM) diretamente nos dados do BigQuery com uma API estilo Scikit‑Learn.
  • Custo‑eficiência: no BigQuery você paga pelo volume processado; o BigFrames gera SQL otimizado para evitar scans desnecessários.

🆚 Veredito Final

CenárioFerramenta recomendada
Dados que cabem no ExcelPandas
Limpeza de dados local rápidaPandas
Datasets > 10 GB ou cloud‑nativeBigFrames
Necessidade de versionar no GitBigFrames + Marimo
0 views
Back to Blog

Related posts

Read more »