メインコンテンツまでスキップ

スポットインスタンスの喪失

クラウドプロバイダーがスポットインスタンスを回収すると、そのインスタンス上のエグゼキューターが終了し、すべての稼働中のタスクが失敗します。Sparkはそのタスクを再実行する必要があるため、ジョブが遅くなり、ステージまたはジョブが失敗する可能性があります。

コンピュートの イベント ログ にスポットインスタンスが失われた、または回収されたと表示されている場合は、このページを使用します。イベント ログにコンピュートがオートスケールのためにサイズ変更されたと表示されている場合、エグゼキューターが削除されたのは予期されたものであり、エラーではありません。イベント ログに失われたエグゼキューターの説明がない場合は、ジョブの失敗またはエグゼキューターの削除を参照してください。

スポットインスタンスの損失を削減する​

スポットインスタンスの損失が頻繁に発生する場合は、そのインスタンスタイプは回収率が高い可能性があります。損失を減らすには、次のアプローチを試してください:

  • 中断率の低いインスタンスタイプを選択します。 各インスタンスタイプがどのくらいの頻度で中断されるかを確認するには、Spot Instance Advisorを使用します。
  • フリートインスタンスタイプを使用します。 フリートインスタンスタイプは、スポット容量と価格が最も優れた、同じサイズの利用可能なインスタンスタイプに解決されます。
  • スポットインスタンスの使用を中止します。 コンピュート構成の Use spot instance チェックボックスをオフにします。スポットインスタンスを参照してください。

ドライバーおよびレイテンシーに影響を受けやすいワークロードにはオンデマンドインスタンスを使用してください​

クラウドプロバイダがドライバーを再利用すると、ジョブはすぐに失敗します。Databricksでは、クラウドプロバイダによるドライバーノードの再利用を防ぐために、ドライバーノードにオンデマンドインスタンスを使用することを推奨しています。ワーカーにスポットインスタンスプールを使用する場合は、 ドライバーの種類 としてオンデマンドプールを選択します。「プールのベスト プラクティス」を参照してください。

オンデマンドドライバーはワーカーを保護しません。クラウドプロバイダーがワーカーを再利用すると、そのエグゼキューターが終了し、アクティブなタスクが失敗します。ジョブは継続しますが、Sparkはそれらのタスクを再実行する必要があるため、ジョブが遅くなり、ステージやジョブの失敗が発生する可能性があります。遅延を許容できるワークロードにのみスポットインスタンスを使用してください。「クラシック コンピュート構成のベスト プラクティス」を参照してください。