Databricks ジョブを構成および編集する
この記事では、Workflows ワークスペース UI を使用してジョブを作成、構成、編集する手順について説明します。 Azure Databricks には、その他の構成用エントリ ポイントとツールがあります。これには、以下が含まれます。
- Databricks CLI を使ってジョブを作成および実行する方法については、「Databricks CLI とは」を参照してください。
- ジョブ API を使ってジョブを作成および実行する方法については、REST API リファレンスの「Jobs」(ジョブ) を参照してください。
- Databricks ノートブックでジョブを直接実行し、スケジュールする方法については、「スケジュールされたノートブック ジョブの作成と管理」を参照してください。
ヒント
ジョブを YAML として表示するには、ジョブの [今すぐ実行] の左側にあるケバブメニューをクリックし、 [コードバージョン (YAML) に切り替え]をクリックします。
新しいジョブの作成
このセクションでは、ワークスペース UI を使用してノートブック タスクをスケジュールする新しいジョブを作成するために必要な最小構成について説明します。
ジョブには、1 つまたは複数のタスクが含まれます。 新しいジョブを作成するには、そのジョブの最初のタスクを構成します。
Note
各タスクの種類には、ワークスペース UI の動的構成オプションがあります。 「Databricks タスクを構成および編集する」を参照してください。
- サイド バーの [ワークフロー] をクリックし、 をクリックします。
- タスク名を入力します。
- [パス] フィールドのノートブックを選択します。
- [タスクの作成] をクリックします。
ワークスペースでジョブのサーバーレス コンピューティングが有効になっていない場合は、[コンピューティング] オプションを選択する必要があります。 Databricks では、タスクの構成時にジョブ コンピューティングを常に使用することをお勧めします。
ワークスペース ジョブのリストに、既定の名前 New Job <date> <time>
の新しいジョブが表示されます。
ワークスペースで編集するジョブを選択する
ワークスペース 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 プロバイダーを構成する
ジョブ UI には、リモート Git リポジトリを構成するためのダイアログが表示されます。 このダイアログには、[Git] 見出しの下の [ジョブの詳細] パネル、または Git プロバイダーを使用するように構成されたタスクからアクセスできます。
ダイアログにアクセスするために表示されるオプションは、タスクの種類と、ジョブに対して Git 参照が既に構成されているかどうかによって異なります。 ダイアログを起動するボタンには、[Git 設定の追加]、[編集]、[git 参照の追加] があります。
[Git 情報] ダイアログ ([ジョブの詳細] パネルからアクセスすると、ラベルは単に [Git]) に、次の詳細を入力します。
- Git リポジトリの URL。
- ドロップダウン リストから利用している Git プロバイダーを選択します。
- [Git 参照] フィールドに、実行するソース コードのバージョンに対応するブランチ、タグ、またはコミットの識別子を入力します。
- ドロップダウンから [ブランチ]、[タグ]、または [コミット] を選択します
Note
ダイアログに次のメッセージが表示される場合があります。このアカウントの Git 認証情報がありません。認証情報を追加してください。 参照として使用する前に、リモート Git リポジトリを構成する必要があります。 「Databricks Git フォルダー (Repos) を設定する」を参照してください。
ジョブの予想される完了時間またはタイムアウトを構成する
ジョブの予想完了時間やジョブの最大完了時間など、ジョブのオプションの期間しきい値を構成できます。 期間のしきい値を構成するには、[ジョブの詳細] パネルで [期間のしきい値] の [期間のしきい値の設定] をクリックします。
ジョブの予想完了時間を構成するには、[警告] フィールドに期間を入力します。 ジョブがこのしきい値を超えると、イベントがトリガーされます。 このイベントを使用して、タスクの実行速度が遅い場合に通知できます。 「実行時間の遅いジョブまたは遅延ジョブの通知を構成する」を参照してください。
ジョブの最大完了時間を構成するには、[タイムアウト] フィールドに最大期間を入力します。 この時間内にジョブが完了しなかった場合、Azure Databricks によって状態が "タイムアウト" に設定されます。
必要に応じて、タスクの期間のしきい値を指定できます。 「タスクの予想される完了時間またはタイムアウトを構成する」を参照してください。