Databricks ジョブを構成および編集する
ジョブ UI または Databricks CLI や REST API などの開発者ツールを使用して、ジョブを作成して実行できます。 UI または API を使用すると、失敗したジョブまたは取り消されたジョブを修復して再実行できます。 この記事では、ワークフロー ワークスペース UI を使用してジョブを作成、構成、および編集する方法について説明します。 その他のツールの詳細については、次を参照してください。
- Databricks CLI を使ってジョブを作成および実行する方法については、「Databricks CLI とは」を参照してください。
- ジョブ API を使ってジョブを作成および実行する方法については、REST API リファレンスの「Jobs」(ジョブ) を参照してください。
- ジョブの構成にコードとしてのインフラストラクチャ (IaC) アプローチを使用する場合は、Databricks Asset Bundles (DAB) を使用できます。 DAB を使用してジョブを構成および調整する方法については、「Databricks Asset Bundles を参照してください。
- Databricks ノートブックでジョブを直接実行し、スケジュールする方法については、「スケジュールされたノートブック ジョブの作成と管理」を参照してください。
ヒント
ジョブを YAML として表示するには、ジョブの [今すぐ実行] の左側にあるケバブメニューをクリックし、 [コードバージョン (YAML) に切り替え]をクリックします。
ジョブに必要な最小構成は何ですか?
Azure Databricks 上のすべてのジョブには、次のものが必要です。
- Databricks ノートブックなど、実行するロジックを含むタスク。 「Databricks タスクの構成と編集」を参照してください
- ロジックを実行するコンピューティング リソース。 コンピューティング リソースには、サーバーレス コンピューティング、クラシック ジョブ コンピューティング、または汎用コンピューティングを使用できます。 「ジョブのコンピューティングを構成する」を参照してください。
- ジョブをいつ実行するかを指定したスケジュール。 必要に応じて、スケジュールの設定を省略し、ジョブを手動でトリガーできます。
- 一意の名前。
新しいジョブの作成
このセクションでは、ノートブック タスクを使用して新しいジョブを作成し、ワークスペース UI を使用してスケジュールする手順について説明します。
ジョブには、1 つまたは複数のタスクが含まれます。 新しいジョブを作成するには、そのジョブの最初のタスクを構成します。
Note
各タスクの種類には、ワークスペース UI の動的構成オプションがあります。 「Databricks タスクを構成および編集する」を参照してください。
- サイド バーの
[ワークフロー] をクリックし、
をクリックします。
- タスク名を入力します。
- [パス] フィールドのノートブックを選択します。
- [タスクの作成] をクリックします。
ワークスペースでジョブのサーバーレス コンピューティングが有効になっていない場合は、[コンピューティング] オプションを選択する必要があります。 Databricks では、タスクの構成時にジョブ コンピューティングを常に使用することをお勧めします。
ワークスペース ジョブのリストに、既定の名前 New Job <date> <time>
の新しいジョブが表示されます。
ワークフローに必要な場合は、引き続き同じジョブ内にタスクを追加できます。
ジョブのスケジュール設定
作業を実行するタイミングを自分で決定できます。 既定では、手動で起動した場合にのみ実行されますが、自動的に実行するように構成することもできます。 スケジュールに従って、またはイベントに基づいてジョブを実行する トリガー を作成できます。
ジョブ内のタスクのフローの制御
ジョブで複数のタスクを構成する場合は、特殊なタスクを使用してタスクの実行方法を制御できます。 「Databricks ジョブ内のタスクフローを制御する」を参照してください。
ワークスペースで編集するジョブを選択する
ワークスペース UI を使用して既存のジョブを編集するには、次の操作を行います。
- サイドバーの
[ワークフロー] をクリックします。
- [名前] 列で、ジョブ名をクリックします。
ジョブ UI を使用して、次の操作を行います。
- ジョブ設定を編集する
- ジョブを名前変更、複製、または削除する
- 既存のジョブに新しいタスクを追加する
- タスク設定を編集する
ジョブ設定を編集する
サイド パネルに [ジョブの詳細] が表示されます。 ジョブのトリガー、コンピューティング構成、通知、同時実行の最大数を変更し、期間のしきい値を構成し、タグを追加または変更することができます。 ジョブのアクセス制御が有効になっている場合は、ジョブのアクセス許可を編集することもできます。
すべてのジョブ タスクにパラメーターを追加する
ジョブ レベルで構成されたパラメーターは、キーと値のペアのパラメータを受け入れるジョブのタスクに渡されます。これには、キーワード引数を受け入れるように構成された Python ホイール ファイルが含まれます。 「ジョブをパラメーター化する」を参照してください。
ジョブにタグを追加する
ジョブを編集するときにタグを追加して、ジョブにラベルまたはキーと値の属性を追加できます。 タグを使用して、ジョブ リスト内のジョブをフィルター処理できます。 たとえば、department
タグを使用して、特定の部署に属するすべてのジョブをフィルター処理できます。
Note
ジョブ タグは、個人を特定できる情報やパスワードなどの機密情報を格納するようには設計されていないため、Databricks では機密以外の値にのみタグを使用することをお勧めします。
タグはジョブの実行時に作成されたジョブ クラスターにも反映されるため、既存のクラスター監視でタグを使用できます。
タグを追加または編集するには、[ジョブの詳細] サイド パネルで [+ タグ] をクリックします。 タグは、ラベルまたはキーと値のペアとして追加できます。 ラベルを追加するには、"キー" フィールドにラベルを入力し、"値" フィールドは空のままにします。
ジョブに予算ポリシーを追加する
重要
この機能はパブリック プレビュー段階にあります。
ワークスペースで予算ポリシーを使用してサーバーレス使用に予算を割り当てる場合は、ジョブの詳細 サイドパネルの 予算ポリシー の設定を使用して、ジョブの予算ポリシーを選択できます。 「予算ポリシーを使用したサーバーレス使用の属性」を参照してください。
ジョブを名前変更、複製、または削除する
ジョブの名前を変更するには、ジョブ UI に移動し、ジョブ名をクリックします。
既存のジョブを複製すると、新しいジョブをすばやく作成できます。 ジョブを複製すると、ジョブ ID を除き、全く同じジョブのコピーが作成されます。 ジョブを複製するには、次の操作を行います。
- ジョブのジョブ UI に移動します。
[今すぐ実行] ボタンの横の をクリックします。
- ドロップダウン メニューから [ジョブの複製] を選択します。
- 複製されるジョブの名前を入力します。
- [複製] をクリックします。
ジョブを削除する
ジョブを削除するには、[ジョブ] ページに移動し、ジョブの名前の横にある をクリックし、ドロップダウン メニューから [ジョブの削除] を選択します。
ジョブで Git を使用する
ジョブにリモート Git プロバイダーの使用をサポートするタスクが含まれている場合、ジョブ UI には [Git] フィールドと Git 設定を追加または編集するためのオプションが含まれます。
リモート Git リポジトリを使用するように、次のタスクの種類を構成できます。
- ノートブック
- Python スクリプト
- SQL ファイル
- dbt
ジョブ内のすべてのタスクは、リモート リポジトリ内の同じコミットを参照する必要があります。 リモート リポジトリを使用するジョブには、次のいずれか 1 つを指定する必要があります。
- branch: ブランチの名前 (例:
main
)。 - tag: タグの名前 (例:
release-1.0.0
)。 - commit: 特定のコミットのハッシュ (例:
e0056d01
)。
ジョブの実行が開始されると、Databricks はリモート リポジトリのスナップショット コミットを取得して、ジョブ全体が同じバージョンのコードに対して実行されるようにします。
リモート Git リポジトリに格納されているコードを実行するタスクの実行履歴を表示すると、[タスクの実行の詳細] パネルには、実行に関連付けられているコミット SHA を含む Git の詳細が表示されます。 「タスクの実行履歴を表示する」を参照してください。
Note
リモート Git リポジトリを使用するように構成されたタスクは、ワークスペース ファイルに書き込むことができません。 これらのタスクは、タスクを実行するように構成されたコンピューティングのドライバー ノードに接続されているエフェメラル ストレージに一時データを書き込み、永続データをボリュームまたはテーブルに書き込む必要があります。
Databricks では、開発時の迅速な反復とテストのためにのみ、Git フォルダーのワークスペース パスを参照することをお勧めします。 ジョブをステージングと運用環境に移行する際、Databricks では、リモート Git リポジトリを参照するようにこれらのジョブを構成することをお勧めします。 Databricks ジョブでリモート Git リポジトリを使用する方法の詳細については、次のセクションを参照してください。
Git プロバイダーを構成する
ジョブ UI には、リモート Git リポジトリを構成するためのダイアログが表示されます。 このダイアログには、[Git] 見出しの下の [ジョブの詳細] パネル、または Git プロバイダーを使用するように構成されたタスクからアクセスできます。
ダイアログにアクセスするために表示されるオプションは、タスクの種類と、ジョブに対して Git 参照が既に構成されているかどうかによって異なります。 ダイアログを起動するボタンには、[Git 設定の追加]、[編集]、[git 参照の追加] があります。
[Git 情報] ダイアログ ([ジョブの詳細] パネルからアクセスすると、ラベルは単に [Git]) に、次の詳細を入力します。
- Git リポジトリの URL。
- ドロップダウン リストから利用している Git プロバイダーを選択します。
- [Git 参照] フィールドに、実行するソース コードのバージョンに対応するブランチ、タグ、またはコミットの識別子を入力します。
- ドロップダウンから [ブランチ]、[タグ]、または [コミット] を選択します
Note
ダイアログに次のメッセージが表示される場合があります。このアカウントの Git 認証情報がありません。認証情報を追加してください。 参照として使用する前に、リモート Git リポジトリを構成する必要があります。 「Databricks Git フォルダー (Repos) を設定する」を参照してください。
ジョブ実行時間またはストリーミング バックログ メトリックのしきい値を構成する
重要
Databricks ジョブのストリーミング監視はパブリックプレビュー段階にあります。
ジョブの実行時間またはストリーミング バックログ メトリックのオプションのしきい値を構成できます。 期間またはストリーミング メトリックのしきい値を構成するには、期間とストリーミング バックログのしきい値 をクリックし、[ジョブの詳細] パネルで操作を行います。
ジョブの予想される完了時間と最大完了時間を含むジョブ期間のしきい値を構成するには、[メトリック] ドロップダウン メニュー [実行期間] を選択します。 ジョブの予想完了時間を構成するには、[警告] フィールドに期間を入力します。 ジョブがこのしきい値を超えると、イベントがトリガーされます。 このイベントを使用して、タスクの実行速度が遅い場合に通知できます。 低速ジョブ の通知を構成するを参照してください。 ジョブの最大完了時間を構成するには、[タイムアウト] フィールドに最大期間を入力します。 この時間内にジョブが完了しなかった場合、Azure Databricks によって状態が "タイムアウト" に設定されます。
ストリーミング バックログ メトリックのしきい値を構成するには、[メトリック] ドロップダウン メニューでメトリックを選択し、しきい値の値を入力します。 ストリーミング ソースでサポートされる特定のメトリックについては、「ストリーミング タスクのメトリックの表示 を参照してください。
しきい値を超えたためにイベントがトリガーされた場合は、イベントを使用して通知を送信できます。 低速ジョブ の通知を構成するを参照してください。
必要に応じて、タスクの期間のしきい値を指定できます。 「タスクの実行期間またはストリーミング バックログ メトリックのしきい値を構成する」を参照してください。