Lakeflowジョブの設定と編集
ジョブ UI を使用して、または Databricks CLI や REST API などの開発者ツールを使用して、ジョブを作成および実行できます。UI または API を使用して、失敗したジョブまたはキャンセルされたジョブを修復して再実行できます。この記事では、 ジョブとパイプライン ワークスペース UI を使用してジョブを作成、構成、編集する方法を示します。その他のツールに関する情報については、以下を参照してください。
- Databricks CLI を使用してジョブを作成および実行する方法については、Databricks CLI とはを参照してください。
- ジョブAPIを使用してジョブを作成および実行する方法については、REST APIリファレンスのジョブを参照してください。
- ジョブの設定に Infrastructure-as-Code (IaC) アプローチを使用する場合は、 Databricks Asset Bundle を使用できます。 バンドルを使用してジョブを構成および調整する方法については、「 Databricks アセット バンドル」を参照してください。
- Databricks ノートブックで直接ジョブを実行およびスケジュールする方法については、「 スケジュールされたノートブック ジョブを作成および管理する」を参照してください。
ジョブを YAML として表示するには、ジョブの 今すぐ実行 の左側にあるケバブ メニューをクリックし、 コード バージョンに切り替え (YAML) をクリックします。
ジョブに必要な最小構成は?
Databricks のすべてのジョブには、次のものが必要です。
- 実行するロジックを含むタスク (Databricks ノートブックなど)。Lakeflowジョブでのタスクの構成と編集を参照してください
- ロジックを実行するためのコンピュート リソース。 コンピュート リソースには、サーバレス コンピュート、クラシック ジョブ コンピュート、または汎用コンピュートを使用できます。 ジョブのコンピュートの設定を参照してください。
- ジョブを実行するタイミングについて指定されたスケジュール。 オプションで、スケジュールの設定を省略して、ジョブを手動でトリガーできます。
- ユニークな名前。
新しいジョブを作成する
このセクションでは、ノートブック タスクを使用して新しいジョブを作成し、ワークスペース UI を使用してスケジュールを設定する手順について説明します。
ジョブには 1 つ以上のタスクが含まれます。 新しいジョブを作成するには、そのジョブの最初のタスクを構成します。
各タスク タイプには、ワークスペース UI の動的構成オプションがあります。「Lakeflowジョブでのタスクの設定と編集」を参照してください。
-
ワークスペースで、サイドバーの
Jobs & パイプライン をクリックします。
-
作成 をクリックし、 ジョブ をクリックします。
タスク タブは、空のタスクペインとともに表示されます。
LakeFlowジョブUI が オン の場合は、 ノートブック タイルをクリックして最初のタスクを設定します。[ ノートブック ] タイルが使用できない場合は、[ 別のタスクの種類を追加 ] をクリックして [ ノートブック ] を検索します。
-
タスク名 を入力します。
-
パス フィールドのノートブックを選択します。
-
「 タスクを作成 」をクリックします。
ワークスペースでジョブ用サーバレス コンピュートが有効になっていない場合は、 コンピュート オプションを選択する必要があります。 Databricks タスクを設定するときは、常にジョブ コンピュートを使用することをお勧めします。
新しいジョブがワークスペース ジョブ リストにデフォルト名 New Job <date> <time>
で表示されます。
ワークフローに必要な場合は、同じジョブ内に引き続きタスクを追加できます。タスクが 100 を超えるジョブには、特別な要件がある場合があります。詳細については、「 タスクの数が多いジョブ」を参照してください。
ジョブのスケジュール
ジョブをいつ実行するかは、ユーザーが決定できます。デフォルトでは、 手動で開始した場合にのみ実行されますが、自動的に実行されるように構成することもできます。トリガーを作成して、スケジュールに従って、またはイベントに基づいてジョブを実行できます。
ジョブ内のタスクのフローの制御
ジョブで複数のタスクを構成する場合は、特殊なタスクを使用してタスクの実行方法を制御できます。「Lakeflowジョブ内のタスクのフローを制御する」を参照してください。
ワークスペースで編集するジョブを選択する
ワークスペース UI を使用して既存のジョブを編集するには、次の手順を実行します。
- Databricks ワークスペースのサイドバーで、[ ジョブとパイプライン] をクリックします。
- 必要に応じて、[ ジョブ ] と [自分が所有] フィルターを選択します。
- ジョブ の [名前 ] リンクをクリックします。
ジョブ UI を使用して、次の操作を行います。
- ジョブ設定の編集
- ジョブの名前変更、クローン作成、または削除
- 既存のジョブに新しいタスクを追加する
- タスク設定の編集
ジョブ設定の編集
サイドパネルには 、ジョブの詳細 が含まれています。ジョブのスケジュールまたはトリガー、ジョブ パラメーター、ジョブ コンピュート 構成、タグ、 通知、実行の最大数、期間のしきい値、および Git 設定を変更できます。 ジョブのアクセス制御が有効になっている場合は、ジョブの権限を編集することもできます。
すべてのジョブ タスクにパラメーターを追加する
ジョブ レベルで構成されたパラメーターは、キーワード引数を受け入れるように構成された Python wheelファイルを含む、key-value パラメーターを受け入れるジョブのタスクに渡されます。 ジョブのパラメータ化を参照してください。
ジョブにタグを追加する
ジョブにラベルや Key-Value 属性を追加するには、ジョブの編集時に タグ を追加します。 タグを使用して、 ジョブリスト内のジョブをフィルタリングできます。 たとえば、 department
タグを使用して、特定の部門に属するすべてのジョブをフィルタリングできます。
ジョブ タグは、個人を特定できる情報やパスワードなどの機密情報を格納するようには設計されていないため、Databricks では、機密性の低い値にのみタグを使用することをお勧めします。
タグは、ジョブの実行時に作成されるジョブ クラスターにも伝播されるため、既存の クラスター モニタリングでタグを使用できます。
ジョブの詳細 サイド パネルで + タグ をクリックして、タグを追加または編集します。タグは、ラベルまたはキーと値のペアとして追加できます。 ラベルを追加するには、 キー フィールドにラベルを入力し、 値 フィールドを空のままにします。
ジョブでの Git の使用
ジョブ UI には、 Git フィールドと、Git 設定を追加または編集するオプションが含まれています。
次のタスクタイプを設定して、リモート Git リポジトリを使用できます。
- ノートブック
- Python スクリプト
- SQL ファイル
- dbt
ジョブ内のすべてのタスクは、リモートリポジトリ内の同じコミットを参照する必要があります。 リモートリポジトリを使用するジョブには、次のいずれか 1 つだけを指定する必要があります。
- ブランチ :ブランチの名前、たとえば
main
。 - tag : タグの名前 (例:
release-1.0.0
. - コミット : 特定のコミットのハッシュ (例:
e0056d01
.
ジョブの実行が開始されると、 Databricks はリモート リポジトリのスナップショット コミットを取得して、ジョブ全体が同じバージョンのコードに対して実行されるようにします。
リモート Git リポジトリーに保管されているコードを実行するタスクの実行履歴を表示すると、 タスク実行の詳細 パネルには、実行に関連付けられたコミット SHA などの Git 詳細が含まれます。 「タスク実行履歴の表示」を参照してください。
リモート Git リポジトリを使用するように構成されたタスクは、ワークスペース ファイルに書き込むことはできません。 これらのタスクは、タスクを実行するように構成されたコンピュートのドライバー ノードにアタッチされた一時ストレージに一時データを書き込む必要があり、永続データをボリュームまたはテーブルに書き込む必要があります。
Databricks では、Git フォルダー内のワークスペース パスを参照するのは、開発中の迅速なイテレーションとテストのためだけにすることをお勧めします。 ジョブをステージングおよび本番運用に移行するときは、 Databricks は、これらのジョブがリモート Git リポジトリを参照するように構成することをお勧めします。 Databricks ジョブでリモート Git リポジトリを使用する方法の詳細については、次のセクションを参照してください。
Git プロバイダーを構成する
ジョブ UI には、リモート Git リポジトリを構成するためのダイアログがあります。このダイアログには、 Git 見出しの下の [ジョブの詳細] パネルから、 または Git プロバイダー を使用するように構成された任意のタスクからアクセスできます。ダイアログにアクセスするには、[ ジョブの詳細] パネルで [Git 設定の追加 ] をクリックします。
[ Git ] ダイアログ (タスク構成中にアクセスする場合は [Git 情報 ] というラベル) で、次の詳細を入力します。
- Git リポジトリの URL 。
- ドロップダウンリストから Git プロバイダー を選択します。
- Git 参照 フィールドに、実行するソース コードのバージョンに対応するブランチ、タグ、またはコミットの識別子を入力します。
- ドロップダウンから ブランチ 、 タグ 、または コミット を選択します。
ダイアログに このアカウントの Git 資格情報がありません。資格情報を追加してください。 と表示される場合があります。リモート Git リポジトリを参照として使用する前に、そのリポジトリを構成する必要があります。Databricks Git フォルダーの設定を参照してください。
ジョブの名前変更、クローン作成、または削除
ジョブの名前を変更するには、ジョブUIに移動し、ジョブ名をクリックします。
既存のジョブをクローニングすることで、新しいジョブをすばやく作成できます。 ジョブをクローニングすると、ジョブ ID を除き、ジョブの同一のコピーが作成されます。 ジョブをクローニングするには、次の手順を実行します。
- 左側
サイドバーの [ジョブとパイプライン] をクリックします。
- クローンを作成するジョブの名前をクリックして、ジョブ UI を開きます。
- 今すぐ実行 ボタンの横にある
をクリックします。
- ドロップダウンメニューから [クローンジョブ ]を選択します。
- クローニングされたジョブの名前を入力します。
- [ クローンを作成 ] をクリックします。
ジョブの削除
ジョブを削除するには、ジョブ ページに移動し、ジョブ名の横にある [ ] をクリックして、ドロップダウン メニューから [ ジョブの削除 ] を選択します。
ジョブの実行期間またはストリーミング バックログ メトリクスのしきい値を構成する
プレビュー
Lakeflowジョブのストリーミング オブザーバビリティは パブリック プレビュー段階です。
ジョブ 実行 時間 または ストリーミング バックログ メトリクスに対するオプションのしきい値を構成できます。 期間またはストリーミングメトリクスのしきい値を設定するには、 ジョブの詳細 パネルで 期間とストリーミングバックログのしきい値 をクリックします。
ジョブの予想完了時間と最大完了時間など、ジョブの期間のしきい値を設定するには、 メトリクス ドロップダウン メニューで 実行期間 を選択します。 警告 フィールドに期間を入力して、ジョブの予想完了時間を設定します。ジョブがこのしきい値を超えると、イベントがトリガーされます。このイベントを使用して、ジョブの実行が遅いときに通知できます。低速ジョブの通知を構成するを参照してください。ジョブの最大完了時間を設定するには、 タイムアウト フィールドに最大時間を入力します。この時間内にジョブが完了しない場合、Databricks はジョブのステータスを「タイムアウト」に設定します。
ストリーミング バックログ メトリクスのしきい値を設定するには、 メトリクス ドロップダウン メニューでメトリクスを選択し、しきい値の値を入力します。 ストリーミング ソースでサポートされている特定のメトリクスについては、「 ストリーミング タスクのメトリクスを表示する」を参照してください。
しきい値を超えたためにイベントがトリガーされた場合は、イベントを使用して通知を送信できます。 低速ジョブの通知を構成するを参照してください。
オプションで、タスクの期間のしきい値を指定できます。 タスクの実行期間のしきい値を構成するまたはストリーミング バックログ メトリクスを参照してください。
ジョブ実行のキューイングを有効にする
キューイングは、2024 年 4 月 15 日以降に UI を使用して作成されたジョブに対してデフォルトで有効になっています。
同時実行の制限によりジョブの実行がスキップされないようにするには、ジョブのキューイングを有効にします。キューイングが有効になっている場合、ジョブの実行にリソースが使用できない場合、実行は最大 48 時間キューに入れられます。容量が使用可能な場合、ジョブの実行はキューから取り出されて実行されます。キューに入れられた実行は、 ジョブの実行リスト と 最近のジョブ実行リストに表示されます。
実行は、次のいずれかの制限に達したときにキューに入れられます。
- ワークスペース内の最大並列アクティブ実行。
- ワークスペースで実行されるタスクの最大数並列
Run Job
。 - ジョブの最大並列実行。
キューイングは、そのジョブに対してのみ実行をキューに入れるジョブ レベルのプロパティです。
キューイングを有効または無効にするには、 詳細設定 をクリックし、 ジョブの詳細 サイド パネルの キュー トグル ボタンをクリックします。
最大並列 実行の構成
デフォルト では、すべての新しいジョブの最大並列実行は 1 です。
詳細設定 の 同時実行の編集 をクリックして、このジョブの並列実行の最大数を設定します。
Databricks は、新しい実行を開始しようとしたときに、ジョブが既にアクティブな実行の最大数に達している場合、実行をスキップします。
この値を 1 より大きい値に設定すると、同じジョブの複数の並列実行が可能になります。 これは、たとえば、頻繁なスケジュールでジョブをトリガーし、連続した実行をオーバーラップさせたり、入力パラメーターが異なる複数の実行をトリガーしたりする場合に役立ちます。