スキューとスピル
スピル
実行時間の長いステージで最初に確認が必要なのは、スピルがあるかどうかです。
ステージのページの上部に詳細が表示されます。ここに、スピルに関する統計が含まれている場合があります。
スピルは、Spark でメモリが不足したときに発生します。 メモリからディスクにデータの移動が開始されます。これには非常にコストがかかる場合があります。 これは、データのシャッフル中に最もよく見られます。
スピルの統計が表示されない場合は、ステージにスピルがないことを意味します。 ステージになんらかのスピルがある場合は、このガイドでシャッフルによって発生するスピルへの対処方法を参照してください。
Skew
次に調べる必要があるのは、スキューがあるかどうかです。 スキューは、1 つまたは少数のタスクに、残りのタスクよりも時間がかかる場合を指します。 これにより、クラスターの使用率が低下し、ジョブの時間が長くなります。
サマリー メトリックまで下にスクロールします。 主に探しているのは、最大期間が 75 パーセンタイル期間よりも大幅に長くなっている項目です。 次のスクリーンショットは、75 パーセンタイルと最大の値が同じ、正常なステージを示しています。
最大期間が 75 パーセンタイルより 50% 長い場合は、スキューが発生している可能性があります。
スキューが表示される場合は、こちらでスキューの修復手順を参照してください。
スキューまたはスピルなし
スキューやスピルが表示されない場合は、ジョブ ページに戻って何が起きているかの概要を確認します。 ページの上部までスクロールし、[Associated Job Ids]\(関連付けられたジョブ ID\) をクリックします。
ステージにスピルやスキューがない場合は、次の手順として「Spark ステージの高 I/O」を参照してください。