ジョブのタイムライン

ジョブのタイムラインは、パイプラインまたはクエリを理解するための優れた出発点です。 実行されていた内容、各ステップにかかった時間、途中で失敗したかどうかの概要が表示されます。

ジョブタイムラインの開き方

Spark UI で、次のスクリーンショットで赤で強調表示されているジョブイベントのタイムラインをクリックします。 タイムラインが表示されます。 この例では、ドライバーとエグゼキューター 0 が追加されています。

ジョブのタイムライン

何を探すべきか

以下のセクションでは、イベントタイムラインを読み、パフォーマンスやコストの問題の考えられる原因を見つける方法について説明します。 タイムラインでこれらの傾向のいずれかに気付いた場合は、対応する各セクションの最後に、ガイダンスを提供する記事へのリンクが含まれています。

ジョブに失敗するかエグゼキューターに失敗するか

以下は、イベント タイムラインで赤色のステータスで示される、失敗したジョブと削除されたエグゼキューターの例です。

ジョブの失敗

失敗したジョブまたは失敗したエグゼキューターが表示される場合は、「失敗したジョブまたはエグゼキューターが削除されました」を参照してください。

実行のギャップ

次の例のように、1 分以上のギャップを探します。

ジョブ ギャップ

この例にはいくつかのギャップがあり、そのうちのいくつかは赤い矢印で強調表示されています。 タイムラインにギャップがある場合、それは1分以上ですか? ドライバーの座標が機能するにつれて、短いギャップが予想されます。 より長いギャップがある場合、それはパイプラインの途中ですか? それとも、このクラスターは常に稼働しており、アクティビティが停止することでギャップが説明されるのでしょうか? これは、ワークロードの開始時刻と終了時刻に基づいて判断できる場合があります。

パイプラインの途中で説明のつかない長いギャップが発生する場合は、 「Spark ジョブ間のギャップ」を参照してください。

ロングジョブ

タイムラインは 1 つまたは少数の長いジョブによって占められていますか? これらの長いジョブは調査する価値があるでしょう。 次の例では、ワークロードに他のジョブよりもはるかに長いジョブが 1 つあります。 これは調査に適したターゲットです。

ロングジョブ

最も長いジョブをクリックして詳細を調べます。 この長いステージの調査に関する情報については、 「 Sparkでの長いステージの診断」を参照してください。

たくさんの小さな仕事

ここで私たちが探しているのは、小さなジョブが支配するタイムラインです。 次のようになります。

小さな仕事

小さな青い線に注目してください。 これらはいずれも数秒かそれ以下で完了する小さなジョブです。

タイムラインが主に小さなジョブである場合は、 「多数の小さな Spark ジョブ」を参照してください。

上記のいずれでもない

タイムラインが上記のいずれにも当てはまらない場合、次のステップは最も長いジョブを特定することです。 ジョブを所要時間順に並べ替え、最も長いジョブの説明のリンクをクリックします。

最長ジョブの特定

最も長いジョブのページに移動したら、この長いステージの調査に関する追加情報が「Spark での長いステージの診断」に記載されています。