Conceito e mecanismo
Começa pelo histórico da execução e separa espera, arranque, execução e dependências. Uma tarefa skipped pode ser consequência de uma falha anterior. Em compute que disponibiliza Spark UI, segue o job até ao estágio mais demorado e observa distribuição de duração, shuffle e spill. Spill indica pressão sobre memória de execução com transferência para disco; não significa necessariamente falta de espaço livre. Trabalho desigual entre tarefas pode indicar skew, enquanto uma regressão uniforme pode ter outra causa. Erros de importação antes da leitura apontam para bibliotecas ou ambiente, não imediatamente para tamanho dos dados. Compara a primeira mensagem útil com alterações recentes e preserva o contexto.
Aplicação guiada
Num exercício, reduzir colunas antes de um join diminui shuffle sem alterar o resultado. Confirma contagens e medidas de negócio e repete com entrada comparável antes de aceitar a melhoria. Liquid clustering organiza dados para padrões de acesso e substitui particionamento e ZORDER nessa tabela; confirma runtime e compatibilidade dos clientes. Predictive optimization automatiza manutenção em tabelas geridas por Unity Catalog, com compute serverless faturado. Não se aplica da mesma forma a tabelas externas. Define retenção antes de ativar manutenção que inclui VACUUM, considerando recuperação e time travel. Monitoriza custo por entrega útil e tempo até ao consumidor; uma execução mais barata que falha o prazo pode não cumprir o objetivo.
Menos tempo só é melhoria se o resultado continuar completo e correto.
Armadilhas comuns
Aumentar recursos sem diagnóstico; apagar dados para acelerar; comparar volumes diferentes; manutenção assumida gratuita.
Tópicos relacionados: Plataforma, compute e contratos de dados · Ingestão incremental, estado e esquema · Transformação, granularidade e qualidade
Muda uma hipótese de cada vez e confirma desempenho, custo e correção.
Referência: Diagnose performance with Spark UI · 2026-05-04