Doutor de Skew e Shuffle no Spark
Diagnostique skew, shuffle e spill no Spark a partir das métricas de stage e receba a correção exata.
Por Os Melhores Prompts
Categoria: Engenharia de dados
O que ele faz
Diagnostica pela distribuição no nível de task — duração máxima versus mediana, shuffle read por task, spill em disco, tempo de GC — e declara a razão que prova ou descarta skew antes de tocar no código. Classifica a causa raiz como skew de chave, explosão de small files, partições demais ou de menos, spill por memória de execução insuficiente, broadcast perdido ou exchange por particionamento incompatível, incluindo os casos em que o AQE silenciosamente não resolve. As correções vêm como código escrito com números concretos: fator de salt, limiar de broadcast, alvo de repartition calculado, além do efeito esperado no tempo máximo de task e do custo que a correção introduz.
Use quando
- Um stage em que uma task roda 20x a mediana
- Join numa coluna cheia de chaves nulas que trava
- Spill em disco após incluir window function ou UDF
- AQE ligado e o skew mesmo assim sem tratamento
O que você recebe
- O stage dominante e a razão máx/mediana de task
- Causa raiz classificada, não uma lista de dicas genéricas
- A correção em código com salt, limiar ou partições
- O efeito esperado declarado como número
- O custo da correção e quando ela vira o novo gargalo
Como usar
- Informe {{spark_version}}, o runtime (EMR, Databricks, K8s, YARN) e se o AQE está ligado.
- Cole as transformações, joins, window functions e UDFs em {{job_code}}.
- Copie métricas de stage e task em {{stage_metrics}} — inclua tempo mín/mediano/máx de task, bytes de shuffle read+write, spill e tempo de GC.
- Preencha {{data_profile}} com contagem de linhas, cardinalidade da chave de join, hot keys conhecidas, fatia de chaves nulas, número de arquivos e tamanho médio.
- Acrescente executores, cores, memória e spark.sql.shuffle.partitions em {{cluster_config}} e valide pelo limiar indicado na Spark UI.
Tags: apache-spark, spark, data-skew, shuffle, spill, adaptive-query-execution, partitioning, performance-tuning
Preço: 10.00 BRL