Run jobs on a schedule or continuously | Databricks on AWS [2023/4/14時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
スケジュールトリガータイプを用いてDatabricksジョブを定期時に実行したり、連続トリガータイプを用いて常にアクティブなジョブ実行がされるようにすることができます。
指定された時間や期間でDatabricksジョブを自動で実行するためにスケジュールを使用することができます。分周期、時間周期、日次、週次、月次、あるいは指定された時間にジョブを実行するようにスケジュールを定義することができます。また、スケジュールのタイムゾーンを指定することができ、任意のタイミングでスケジュールされたジョブを停止することができます。
連続トリガーのジョブを実行する際、Databricksジョブはジョブのアクティブな処理が常に1つ存在することを保証します。以前のジョブ実行が成功した、あるいは失敗ステータスで終了した、あるいは現在実行中のジョブのインスタンスがない場合に、新たなジョブ実行がスタートします。
ジョブスケジュールの追加
ジョブのスケジュールを定義するには:
- サイドバーでWorkflowsをクリックします。
- JobsタブのNameカラムでジョブ名をクリックします。
- Job detailsパネルのAdd triggerをクリックし、Trigger typeでScheduledを選択します。
- 周期、開始時間、タイムゾーンを指定します。オプションで、Quartz Cron Syntaxでスケジュールを表示、編集するためにShow Cron Syntaxチェックボックスを選択します。
- Saveをクリックします。
また、notebook UIでノートブックジョブを直接スケジュールすることができます。
注意
- Databricksでは、cron表現で設定された秒数に関係なく、ジョブのスケジュールによって起動される後発のジョブ実行との間に最低でも10秒のインターバルを強制します。
- サマータイムを持つタイムゾーンやUTCを選択することができます。サマータイムのあるタイムゾーンを選択した際、サマータイムが開始、終了する際に毎時のジョブがスキップされたり、1時間、2時間の遅れが生じることがあります。毎時(絶対時間)ジョブを実行するには、UTCを選択してください。
- ジョブスケジューラは低レーテンシーのジョブを意図したものではありません。ネットワークやクラウドの問題によって、ジョブ実行が数分遅れることがあります。このような状況では、サービスの可用性に応じてスケジュールされたジョブが即座に実行されます。
ジョブスケジュールの停止および再開
ジョブを一時停止するには、Job detailsパネルのPauseをクリックします。
停止したジョブのスケジュールを再開するには、Resumeをクリックします。
連続ジョブの実行
- サイドバーでWorkflowsをクリックします。
- JobsタブのNameカラムでジョブ名をクリックします。
- Job detailsパネルのAdd triggerをクリックし、Trigger typeでContinuousを選択してSaveをクリックします。
連続をジョブを停止するには、Run Nowの隣のをクリックし、Stopをクリックします。
注意
- 不必要なリソース使用を避け、コストを削減するために、Databricksは24時間以内に5回以上連続で失敗した連続ジョブを自動で停止します。
- ある連続ジョブの実行インスタンスは1つのみとなります。
- ジョブの終了と、新規ジョブの開始の間には少々の遅れが生じます。この遅れは、60秒以内となります。
- 連続ジョブでリトライポリシーとタスクの依存関係を使用することはできません。
- 停止している連続ジョブでRun nowを選択すると、新規のジョブ実行を起動します。ジョブが停止していない場合、例外がスローされます。
- お使いの連続ジョブに新たなジョブ設定が反映されるようにするには、既存のジョブ実行をキャンセルして自動で新規のジョブ実行をスタートさせます。また、アップデートされた設定を用いてジョブ実行を再開するためにRestart runをクリックすることができます。