スケジュールとトリガーを使用したジョブの自動化
Lakeflow ジョブを次のいずれかの状況で自動的にトリガーされるように設定する:
- 時間ベースのスケジュールで
- ソーステーブルが更新されたとき
- Unity Catalog の保存場所にファイルが到着したとき
- Unity Catalogモデルの作成または更新時
- 継続
また、ジョブの実行を手動でトリガーすることも、外部のオーケストレーション ツールを使用してトリガーすることもできます。
ジョブ・スケジュールとトリガー
トリガータイプ | 挙動 |
|---|---|
スケジュール | 時間ベースのスケジュールに基づいてジョブの実行をトリガーします。 スケジュールに従ってジョブを実行するを参照してください。 |
テーブルの更新 | ソーステーブルが更新されたときにジョブの実行をトリガーします。ソーステーブルが更新されたときにジョブをトリガーするを参照してください。 |
ファイル到着 | 監視対象の Unity Catalog ストレージの場所に新しいファイルが到着したときに、ジョブの実行をトリガーします。 新しいファイルの到着時にジョブをトリガーするを参照してください。 |
モデルの更新 | Unity Catalogモデルが作成されたとき、モデルバージョンの準備が整ったとき、またはモデルエイリアスが設定されたとき (ベータ版) にジョブが実行されます。モデルが更新されたときにジョブをトリガーするを参照してください。 |
連続 | ジョブを常に実行し続けるには、ジョブの実行が完了または失敗するたびに別のジョブ実行をトリガーします。 ジョブの継続的な実行を参照してください。 |
なし(手動) | 実行は、 今すぐ実行 ボタンを使用して手動でトリガーするか、他のオーケストレーション ツールを使用してプログラムでトリガーされます。 1 つのジョブ実行をトリガーするを参照してください |
デフォルトでは、一度にアクティブにできるジョブの実行は 1 つだけです。 ただし、詳細設定でこの制限を増やすことは可能です。 実行は、ジョブに設定された最大同時実行数を超えるとスキップされます。 最大並列実行の構成を参照してください。
ジョブのトリガーを構成する
-
トリガーを構成するジョブを開きます。
-
ジョブの詳細 ウィンドウで、 スケジュールとトリガー セクションまで下にスクロールし、 トリガーの追加 をクリックします。
-
スケジュールとトリガー で、設定するトリガーのタイプ ( スケジュール済み 、 テーブル更新 、 ファイルの到着 、 モデル更新 、または 継続 ) を選択します。
トリガーのタイプに基づいて、他のオプションも構成できます。
-
「 保存 」をクリックします。保存後、ジョブは構成されたトリガーに基づいて自動的に実行されます。
複数のタスクを持つジョブの 1 つ以上のタスクが失敗した場合は、失敗したタスクのサブセットを再実行できます。 失敗したタスクとスキップされたタスクの再実行を参照してください。
ジョブに複数のTriggerを追加する
ベータ版
Lakeflow Jobs での複数のTriggerのサポートは ベータ版です。ワークスペース管理者は、 [複数のTrigger] 設定を使用して、ワークスペースの プレビュー ページからこの機能へのアクセスを制御できます。Databricks のプレビューを管理するを参照してください。
Multiple Triggers ベータ版の期間中、1 つの Trigger には最大 5 つの Trigger を設定できます。
ジョブには、同じタイプまたは異なるタイプの複数のTriggerを追加できます。いずれかのアクティブな Trigger が true と評価されると、ランが起動します。たとえば、テーブル更新Triggerを使用してデータ準備完了時にジョブのランを起動し、バックアップとして追加のスケジュールTriggerを追加できます。また、複数のファイル到着Triggerを使用して、さまざまなストレージロケーションを監視することもできます。
各Triggerは個別に停止するおよび再開できます。ジョブはすでに継続的に実行されているため、連続Triggerを他のTriggerと組み合わせることはできません。
複数の Trigger を追加するには、各 Trigger について 「ジョブでのトリガーの構成」 のステップに従ってください。別のTriggerを追加するには、 [スケジュールとTrigger] セクションで [Triggerを追加] をクリックします。
Jobs API 2.1 以降で複数の Trigger を構成するには、JobSettings 内の triggers 配列を使用します。レガシーの schedule、trigger、または continuous フィールドと同じリクエストで triggers を設定しないでください。triggers を更新すると、配列全体が置き換えられます。Jobs API および Bundles job.triggers reference を参照してください。
既存のTriggerを管理する
Triggerの編集、停止する、再開、または削除を行うには、 スケジュールとTrigger セクションを ジョブ の詳細ペインで使用します。各Triggerには独立したコントロールがあります。これらのコントロールは、Triggerが設定されているジョブにのみ表示されます。
- トリガーを変更するには、 [トリガーを編集] をクリックします。
- アクティブなTriggerを停止するには、 停止する をクリックします。現在アクティブなランは継続されますが、Triggerは新しいランを起動しなくなります。Triggerを再開するには、 再開 をクリックします。設定された動作は、以前に設定されたものと同じスケジュールで再開されます。
- ジョブからトリガーを削除するには、 削除 をクリックします。
トリガーを作成または編集する際、[スケジュールとトリガー]ダイアログで**アクティブ**と**一時停止**を切り替えて**トリガーステータス**を制御することもできます。
連続トリガーが再開されたときに実行がアクティブである場合、ジョブ・スケジューラーは、その実行が完了するまで待機して新しい実行をトリガーします。
制限事項
ジョブの Trigger には以下の制限が適用されます。
- 1つのワークスペースでは、すべてのジョブとTriggerの種類にわたって最大12,000個のアクティブなTriggerを設定できます。停止されたTriggerはこの制限にはカウントされません。この制限は、 複数のTrigger プレビューが有効かどうかにかかわらず適用されます。