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