次の方法で共有


ジョブを継続的に実行する

継続的モードを使用して、ワークロードを継続的に実行するようにスケジュールします。 Databricks では、常にオンのストリーミング ワークロードに継続的モードを使用することが推奨されます。

継続的モードでは、構造化ストリーミング ワークロードに関する従来の推奨事項が置き換えられ、無制限の再試行ポリシーと最大 1 回の同時実行でジョブを構成できます。

重要

ジョブのサーバーレス コンピューティングでは、継続的モードはサポートされていません。

継続的モードで実行するようにジョブを構成する

継続的モードで実行するようにジョブを構成するには、次を実行します。

  1. Azure Databricks ワークスペースのサイドバーで、ジョブ & パイプライン をクリックします。

  2. 必要に応じて、 [ ジョブ私が所有する ] フィルターを選択します。

  3. ジョブの [名前] リンクをクリックします。

  4. [ジョブの詳細] パネルで [トリガーの追加] をクリックし、[トリガーの種類] で [継続的] を選択します。

  5. 必要に応じて、 タスク再試行モードを選択します。 ジョブ内で失敗したタスクを再試行するには、[失敗時に再試行] を選ぶか、ジョブレベルでのみ再試行する場合は[しない] を選択できます。 タスク再試行モードは、連続モードでは既定で [失敗時] に設定されます。

    既存のジョブの場合は、最初に [再試行モードの構成] をクリックしてから、タスク の再試行モード を選択する必要がある場合があります。

  6. [保存] をクリックします。

継続的ジョブを停止するには、[停止] ボタンをクリックします。 ジョブを継続的モードで再起動するには、[再開] をクリックします。

  • 継続的ジョブの実行中のインスタンスは 1 つだけ存在できます。
  • 実行が終了してから新しい実行が開始されるまでには、遅延があります。 この遅延は 60 秒未満です。
  • 継続的ジョブでタスクの依存関係を使用することはできません。
  • 継続的ジョブで再試行ポリシーを使用することはできません。 代わりに、連続ジョブは 、指数バックオフ アルゴリズムを使用して、障害発生時にジョブ全体を自動的に再試行します。
  • さらに、タスクの再試行モードを [失敗時] に設定することで、タスク レベルで再試行を構成できます。
  • 一時停止している継続的ジョブで新しいジョブの実行をトリガーするには、[今すぐ実行] を選択します。
  • 継続的ジョブで新しいジョブ構成を取得するには、既存の実行をキャンセルします。 新しい実行が自動的に開始されます。 [実行の再開] をクリックして、更新した構成でジョブの実行を再開することもできます。

継続的ジョブのエラーはどのように処理されますか?

障害は 、指数バックオフ アルゴリズムを使用して管理されます。

タスク再試行モード[失敗時] に設定されている場合、失敗したタスクは、許容される再試行の最大数 (1 つのタスク ジョブに対して 3 回) に達するまで、指数関数的に増加する遅延で再試行されます。 最大再試行回数に達すると、実行が取り消され、新しい実行がトリガーされます。 複数のタスクを含むジョブの場合、他のタスクが実行されていない場合、または他のすべての未完了タスクも失敗または再試行状態にある場合、失敗したタスクによって新しい実行がトリガーされます。

ジョブ レベルで連続するエラーも指数バックオフを使用して管理されます。これにより、回復可能なエラーが発生したときに、一時停止せずに継続的なジョブを実行し、正常な状態に戻ることができます。

継続的ジョブが連続障害の許容しきい値を超えた場合の、後続ジョブの実行の管理方法を次に示します。

  1. ジョブは、システムによって設定された再試行期間の後に再開されます。
  2. 次のジョブの実行が失敗すると、再試行期間が長くなり、この新しい再試行期間の後にジョブが再起動されます。
    1. 後続ジョブの実行が失敗するたびに、再試行期間はシステムによって設定された最大再試行期間まで延長されます。 最大再試行期間に達した後は、ジョブは最大再試行期間を使用して再試行され続けます。 継続的ジョブの再試行回数に制限はありません。
    2. ジョブの実行が正常に完了して新しい実行を開始した場合、または実行が失敗せずにしきい値を超えた場合、ジョブは正常と見なされ、バックオフ シーケンスがリセットされます。

ジョブ UI で指数バックオフ状態の連続ジョブを再起動するか、 ジョブ API の run-now 要求にジョブ ID を渡します。