Problemas de memória de faísca

Verificar um problema de memória

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

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. Assim, se suspeitar que tem um problema de memória, pode verificar o problema duplicando a memória por núcleo para ver se afeta o seu problema.

Por exemplo, se você tiver um tipo de trabalho com 4 núcleos e 16 GB por memória, poderá tentar alternar para um tipo de trabalho 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 para memória que importa aqui. Se demorar mais tempo a falhar com a memória extra ou não falhar de todo, isso é um bom sinal de que está no caminho certo.

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

Causas possíveis

Há muitas razões potenciais para problemas de memória: