Spark での長いステージの診断
まず、ジョブの最も長いステージを特定します。 ジョブのページの一番下までスクロールしてステージの一覧に移動し、期間順に並べ替えます。
ステージ I/O の詳細
このステージが何を行っていたかについて全体的なデータを確認するには、[入力]、[出力]、[シャッフル読み取り]、[シャッフル書き込み] の列を調べます。
これらの列の意味は次のとおりです。
- 入力: このステージがストレージから読み取ったデータの量。 これは、Delta、Parquet、CSV などから読み取ることができます。
- 出力: このステージがストレージに書き込んだデータの量。 これは、Delta、Parquet、CSV などに書き込むことができます。
- シャッフル読み取り: このステージで読み取ったシャッフル データの量。
- シャッフル書き込み: このステージで書き込んだシャッフル データの量。
シャッフルとは何かをよく知らない場合は、それが何を意味するのかここで確認しておくとよいでしょう。
後で必要になる可能性があるので、これらの数値を書き留めてください。
タスクの数
長いステージ内のタスクの数が、問題がどこにあるかを示す場合があります。 タスクの数は、以下を参照して確認できます。
1 つのタスクが表示される場合は、それが問題の兆候である可能性があります。 詳細については、「1 つの Spark タスク」を参照してください。
ステージの詳細を表示する
ステージに複数のタスクがある場合は、さらに調査する必要があります。 ステージの説明のリンクをクリックすると、最長のステージに関する詳細情報が表示されます。
ステージのページが表示されたら、「スキューとスピル」を参照してください。