Spark ドライバーが過負荷になりました
そのため、ドライバーが過負荷になっていると判断しました。 この最も一般的な理由は、クラスターで実行されている並列的なものが多すぎることです。 これは、ストリーム、クエリ、または Spark ジョブが多すぎる可能性があります (一部の顧客はスレッドを使用して多数の Spark ジョブを同時に実行しています)。
また、クラスターで非Spark コードを実行しているため、ドライバーがビジー状態になっている可能性もあります。 Spark 以外のコードの実行によってタイムラインにギャップが生じている場合は、ワーカー全員がアイドル状態であり、ギャップの間にお金を浪費している可能性があります。 これは意図的で避けられないかもしれませんが、このコードを Spark に記述できれば、クラスターを十分に活用できます。 このチュートリアルから始めて、Spark の操作方法を学習します。
クラスターで同時に実行されているものが多すぎる場合は、次の 3 つのオプションがあります。
- ドライバーのサイズを大きくする
- 同時実行性を減らす
- 複数のクラスターに負荷を分散する
Databricks では、まずドライバーのサイズを 2 倍にしてみて、それがジョブにどのように影響するかを確認することをお勧めします。