Pular para o conteúdo principal

Problemas de memória do Spark

Verificando um problema de memória

Os problemas de memória geralmente resultam em mensagens de erro como as seguintes:

sh
SparkException: Job aborted due to stage failure: Task 3 in stage 0.0 failed 4 times, most recent failure: Lost task 3.3 in stage 0.0 (TID 30) (10.139.64.114 executor 4): ExecutorLostFailure (executor 4 exited caused by one of the running tasks) Reason: Remote RPC client disassociated. Likely due to containers exceeding thresholds, or network issues. Check driver logs for WARN messages.

Essas mensagens de erro, no entanto, geralmente são genéricas e podem ser causadas por outros problemas. Portanto, se você suspeitar que tem um problema de memória, pode verificar o problema dobrando a memória por núcleo para ver se isso afeta seu problema.

Por exemplo, se o senhor tiver um tipo worker com 4 núcleos e 16 GB de memória, pode tentar mudar para um tipo worker que tenha 4 núcleos e 32 GB de memória. Isso lhe dará 8 GB por núcleo em comparação com os 4 GB por núcleo que você tinha antes. É a proporção de núcleos em relação à memória que importa aqui. Se demorar mais para falhar com a memória extra ou não falhar, é um bom sinal de que você está no caminho certo.

Se você puder corrigir seu problema aumentando a memória, ótimo! Talvez essa seja a solução. Se isso não resolver o problema ou você não puder arcar com o custo extra, vá mais fundo.

Causas possíveis

Existem muitos motivos possíveis para problemas de memória: