次の方法で共有


Spark ドライバーのオーバーロード

ドライバーがオーバーロードしていると判断しました。 この最も一般的な理由は、クラスターで実行されている同時実行が多すぎるためです。 ストリーム、クエリ、または Spark ジョブが多すぎる可能性があります (一部のお客様は、スレッドを使用して多くの Spark ジョブを同時に実行します)。

また、ドライバーをビジー状態にしているクラスターで Spark 以外のコードを実行している可能性もあります。 Spark 以外のコードの実行によってタイムラインにギャップが生じたことがわかった場合、ワーカーがすべてアイドル状態であり、ギャップの間に無駄なコストが掛かっている可能性があります。 これが意図的で避けられない場合もありますが、Spark を使用するためにこのコードを記述できるのであれば、クラスターをフル活用するようにします。 このチュートリアルでは、Spark を使用する方法について説明します。

クラスターで同時に実行されている処理が多すぎる場合は、次の 3 つのオプションがあります。

  • ドライバーのサイズを増やす
  • コンカレンシーを減らす
  • 複数のクラスターに負荷を分散させる

Azure Databricks では、まずドライバーのサイズを 2 倍にして、それがジョブにどのように影響するかを確認することをお勧めします。