Spark UI を使用してコストとパフォーマンスの問題を診断する

パイプラインやクエリが予想以上に長く続いたりコストがかかる場合、コードだけでは原因が見えにくいことが多いです。 SparkのUIはクラスタが実際に何をしたか、どのジョブが実行されたか、各ステージにかかる時間、データ量の移動、タスクが失敗した場所などを示しています。 このガイドではSparkのUI内のパターンを説明し、各パターンごとに次にどのページを読むべきかも説明しています。 ドライバー、ワーカー、エグゼキュータ、ステージ、タスクの概念に馴染みがなければ、始める前にSparkアーキテクチャをよく確認してください。

このガイドを使用する場合

クラスタ上で動作するワークロードに以下のいずれかの症状がある場合、このガイドをご利用ください:

  • ジョブ、パイプライン、クエリは予想以上、または以前より時間がかかります。
  • ワークロードは処理するデータ量に対して予想以上のコストがかかります。
  • ジョブやエグゼキュータが失敗し、エラーメッセージでは原因が特定されません。

このガイドの使用

まずはジョブのタイムラインから始めましょう。 タイムラインは作業量の全体的な形を示し、各パターンはそのパターンを診断するページにリンクします。 各ページの最後にリンクをたどってガイドを進めてください。 低速なワークロードを診断するには、以下の手順に従ってください:

  1. ジョブ タイムラインを使用して、 の主要な問題を特定する
  2. 最長のステージ を見る
  3. スキューまたはスピルを探す
  4. 最も長いステージが入出力に依存しているかどうかを判断する
  5. 低速ステージ ランタイムの の他の原因を探します

ジョブタイムラインに失敗しているジョブやジョブ間の長い間隔、または多くの小さなジョブが表示されている場合は、残りのステップを飛ばしてタイムラインページのリンクからそのパターンのページへ行ってください。

Spark UI を開く方法

  1. クラスターのページに移動します。

    [コンピューティング] に移動します に移動する

  2. [Spark UI] をクリックします。

    SparkUI に移動します

次の手順

次に、イベントのスケジュールを確認し、パイプラインやクエリについて詳しく知りましょう。 「ジョブのタイムライン」を参照してください。