Spark のメモリの問題

メモリの問題の確認

多くの場合、メモリの問題により、次のようなエラー メッセージが表示されます。

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.

ただし、これらのエラー メッセージは多くの場合、一般的であり、他の問題が原因で発生する可能性があります。 そのため、メモリの問題があると思われる場合は、コアあたりのメモリを 2 倍にして、それが問題に影響するかどうかを確認できます。

たとえば、メモリあたり 4 コアと 16 GB の worker の種類がある場合は、4 コアと 32 GB のメモリを持つ worker の種類に切り替えることができます。 これは、以前に持っていたコアあたり 4 GB と比較して、コアあたり 8 GB を提供します。 ここで重要なのは、メモリに対するコアの比率です。 メモリを追加して失敗するまでの時間が長くなる場合や、まったく失敗しない場合は、あなたが正しい方向に進んでいるということを示します。

メモリを増やすことで問題を解決できるなら、それはいいことです。 おそらくそれが解決策です。 問題が解決しない場合、または追加コストを負担できない場合は、より深く掘り下げる必要があります。

考えられる原因

メモリの問題には、次のような理由が考えられます。